2009-09-21 60 views
1

是否有可能使用jQuery獲取元素(div,input等)的id以及如何操作?使用jQuery檢索HTML元素ID

+2

令人難以置信的簡單的jQuery問題:最終代表大獎! – 2009-09-21 16:53:39

+0

不需要使用jQuery。 'element.id'是你所需要的(只要它是**一個元素**當然)。 – kangax 2009-09-21 23:56:44

回答

6

Attributes/attr

簡單的例子:

alert($('div.someclass').attr('id')); 

如果有一個以上的分度類someclass(也就是說,選擇返回多個元素),你可以讓他們所有通過使用each通過元件循環,並且推IDS到一個數組例如:

var ids = []; 
$('div.someclass').each(function() { 
    ids.push($(this).attr('id')); 
}); 

僅有噸Ø走遠一點,你可以使用attribute filters(在這種情況下attributeHas)挑出只有有ID的元素,如:

var ids = []; 
$('div[id]').each(function() { 
    ids.push($(this).attr('id')); 
}); 

最後,而不是使用每個,你可以使用map(callback)它提供了一個做好以上的更合適的方法:

var ids = $('div[id]').map(function(index, domElement) { 
    return $(domElement).attr('id'); 
}).get(); 
alert(ids.join(",")); 
+0

+1爲當時最完整的答案。我愛jquery! – 2009-09-21 16:51:15

+0

不要手動推送......我們有$ .fn.map()。 – James 2009-09-21 17:43:25

+0

@ J-P謝謝,我把它扔進去了。 – karim79 2009-09-22 02:38:47

2
$('elementselector').attr('id'); 

你會需要選擇一個適當的選擇,以確保您選擇感興趣的元素。

0
$(element).attr('id') 
+2

如果你已經有了元素,就像在你的例子中一樣,只要做element.id就會更清晰和更快 – 2009-09-21 16:50:00