2009-09-21 7 views

Répondre

6

Voir Attributes/attr

Exemple simple:

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

S'il y a plus d'un div avec la classe someclass (c'est-à-dire, le sélecteur retourne plus d'un élément), vous pouvez les obtenir tout en faisant une boucle à travers les éléments en utilisant each, et en poussant les ids dans un tableau par exemple:

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

Juste t o aller un peu plus loin, vous pouvez utiliser attribute filters (dans ce cas attributeHas) de choisir uniquement les éléments qui ont ids, par exemple:

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

et enfin, au lieu d'utiliser chacun, vous pouvez utiliser map(callback) qui fournit une plus propre façon de faire ce qui précède:

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

+1 pour la réponse la plus complète à ce moment-là. J'aime jquery! –

+0

Ne pas pousser manuellement ... Nous avons $ .fn.map() pour cela. – James

+0

@ J-P merci, je l'ai jeté. – karim79

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

vous devez choisir un sélecteur approprié pour vous assurer que vous sélectionnez l'élément d'intérêt.

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

Si vous avez déjà l'élément, comme dans votre exemple, il serait plus clair et plus rapide de faire element.id –

Questions connexes