2010-03-02 12 views

Odpowiedz

14

Można to zrobić:

var ids = new Array(); 
$('[id]').each(function() { //Get elements that have an id= 
    ids.push($(this).attr("id")); //add id to array 
}); 
//do something with ids array 

Jedna uwaga widziałem testowania tego, liczy się jako jeden konsoli FireBug, jeśli jest włączona po prostu być świadomy.

+4

Re: Firebug - '$ ('body [id]')' może być lepszym rozwiązaniem, a następnie, jeśli można mieć pewność, że nie chcemy 'elementy head' lub temu lubić. – Matchu

6

myślę, że to będzie działać

var array = []; 
$("*").each(function(){ 
    if(this.id) array.push(this.id); 
}); 
9
var ids = $('*[id]').map(function() { 
    return this.id; 
}).get(); 

Sposób .map() jest szczególnie przydatna dla coraz lub ustawienie wartości z kolekcji elementów.

http://api.jquery.com/map/

+4

To jest coś, co dla niektórych jest o wiele czystsze, a dla tych, którzy nie potrafią owinąć wokół siebie głowy, jest o wiele brzydsza. – Matchu

Powiązane problemy