【问题标题】:Select element at different depths, Jquery选择不同深度的元素,Jquery
【发布时间】:2013-04-29 10:56:31
【问题描述】:

我在一个页面上有多个表单,我需要选择其中一个中的所有标签。有些在表单 (p, div...) 的子元素中。

最好的方法是什么?

var $labels = $('#subForm label'); // want all labels at different depths
var values = {};
$labels.each(function() {
    values[this.name] = $(this).text();
});
console.log(values);

【问题讨论】:

  • 你有什么错误吗??
  • 你的第一行已经是最好的方法了。
  • 没有错误,它只选择直接父级为表单的标签...
  • @danielCrabbe,这不应该发生。你能张贴你的表格的html吗?

标签: jquery forms select element


【解决方案1】:

您所拥有的 (var $labels = $('#subForm label');) 有效。

但更好/更快的方法是var $labels = $('#subForm').find('label');

这是因为第一种方法首先搜索 DOM 中的所有标签,然后测试它们是否是具有该 id 的元素的后代,但第二种方法查找具有该 id 的元素,然后在其中查找标签它的后代。

【讨论】:

  • $('#subForm').find('label'); 会更快。
  • wierd - jquery 有一些问题,它没有按预期工作。它不能正常工作!感谢您的回复。直流
猜你喜欢
  • 2023-03-29
  • 1970-01-01
  • 2010-12-04
  • 1970-01-01
  • 2012-12-05
  • 1970-01-01
  • 2023-03-29
  • 2020-06-29
  • 2013-04-07
相关资源
最近更新 更多