2013-04-29 57 views
0

我在页面上有几种形式,我需要选择其中一个的所有标签。有些是在窗体的子元素(p,div ...)中。在不同深度选择元素,jquery

这样做的最好方法是什么?

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

你会得到任何错误? – bipen 2013-04-29 10:57:39

+1

你的第一行已经是最好的办法了。 – 2013-04-29 10:59:47

+0

没有错误及其唯一选择直接父母是形式的标签... – v3nt 2013-04-29 11:13:12

回答

1

你有什么(var $labels = $('#subForm label');)的作品。

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

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

+1

'$('#subForm')。find('label');'会更快。 – 2013-04-29 11:01:57

+0

更奇怪 - jquery出现了一些问题,它没有按预期工作。它不能正常工作!感谢您的回应。 DC – v3nt 2013-04-29 15:09:56