Réponses
Trop de publicités?Le jQuery façon:
$('#test').attr('id')
Dans votre exemple:
<div id="test"></div>
$(document).ready(function() {
alert($('#test').attr('id'));
});
Ou via le DOM:
$('#test').get(0).id;
ou encore :
$('#test')[0].id;
et la raison derrière l'utilisation de l' $('#test').get(0)
en JQuery ou même $('#test')[0]
que $('#test')
est un sélecteur JQuery et retourne un array() de résultats , pas un seul élément par sa fonctionnalité par défaut
une alternative pour les DOM sélecteur jquery est
$('#test').prop('id')
ce qui est différent de .attr()
et $('#test').prop('foo')
empoigne les DOM spécifié foo
, en $('#test').attr('foo')
attrape le HTML spécifié foo
d'attribut et vous pouvez trouver plus de détails sur les différences ici.
$('selector').attr('id')
sera de retour l'id de la première appariés élément. De référence.
Si votre ensemble contient plus d'un élément, vous pouvez utiliser le conventionnel .each
itérateur pour retourner un tableau contenant tous les identifiants:
var retval = []
$('selector').each(function(){
retval.push($(this).attr('id'))
})
return retval
Ou, si vous êtes prêt à obtenir un peu graveleux, vous pouvez éviter de l'emballage et de l'utilisation de l' .map
de raccourci.
return $('.selector').map(function(index,dom){return dom.id})
id
est une propriété d'une html Element
. Toutefois, lorsque vous écrivez $("#something")
, elle retourne un objet jQuery qui enveloppe l'élément du DOM. Pour obtenir le natif de l'élément DOM, téléphoner get(0)
$("#test").get(0)
Sur cet élément naturel, vous pouvez appeler l'id, ou toute autre natif du DOM de la propriété ou de la fonction.
$("#test").get(0).id
C'est la raison pour laquelle id
ne fonctionne pas dans votre code.
Vous pouvez également utiliser du jQuery attr
méthode comme d'autres réponses suggèrent d'obtenir l' id
de l'attribut du premier élément correspondant.
$("#test").attr("id")