Comment obtenir l'ID d'un élément en utilisant jQuery ?
<div id="test"></div>
<script>
$(document).ready(function() {
alert($('#test').id);
});
</script>
Pourquoi la méthode ci-dessus ne fonctionne-t-elle pas, et comment dois-je procéder ?
1315
3
La méthode jQuery :
Dans votre exemple :
Ou par l'intermédiaire du DOM :
ou encore :
et la raison derrière l'utilisation de
$('#test').get(0)
en JQuery ou même$('#test')[0]
est que$('#test')
est un sélecteur JQuery et renvoie un tableau() de résultats et non un seul élément par sa fonctionnalité par défaut.une alternative pour le sélecteur DOM dans JQuery est
qui est différent de
.attr()
et$('#test').prop('foo')
saisit la propriété DOMfoo
spécifiée, alors que$('#test').attr('foo')
saisit l'attribut HTMLfoo
spécifié et vous pouvez trouver plus de détails sur les différences [ici][1].[1] : https://stackoverflow.com/questions/5874652/prop-vs-attr
$('selector').attr('id')
renverra l'id du premier élément correspondant. [Référence][1].Si votre ensemble contient plus d'un élément, vous pouvez utiliser le traditionnel
.each
[iterator][2] pour retourner un tableau contenant chacun des ids :Ou, si vous êtes prêt à aller plus loin, vous pouvez éviter le wrapper et utiliser le
.map
[raccourci][3].[1] : http://api.jquery.com/attr/ [2] : http://api.jquery.com/each/ [3] : http://api.jquery.com/map/
$('#test')
renvoie un objet jQuery, vous ne pouvez donc pas utiliser simplementobject.id
pour obtenir sonId
.vous devez utiliser
$('#test').attr('id')
, qui renvoie leID
de l'élément que vous souhaitez.Cela peut également être fait comme suit ,
$('#test').get(0).id
, qui est égal àdocument.getElementById('test').id
.