2013-04-29 55 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