web-dev-qa-db-fra.com

jQuery si Element a un identifiant?

Comment sélectionnerais-je des éléments ayant un identifiant? Par exemple:

if ($(".parent a").hasId()) {
    /* then do something here */
}

Je ne suis nullement un maître chez jQuery.

32
Aaron Brewer

Comme ça:

var $aWithId = $('.parent a[id]');

Après le commentaire d'OP, testez-le comme ceci:

if($aWithId.length) //or without using variable: if ($('.parent a[id]').length)

Renverra toutes les balises d'ancrage à l'intérieur des éléments avec la classe parent ayant un ID d'attribut spécifié

43
A. Wolff

Vous pouvez utiliser la fonction .is () de jQuery.

if ($ (". parent a"). est ("# idSelector")) {

//Do stuff

}

Il retournera true si l'ancre parent a #idSelector id.

14
viren Kalkhudiya

Nombre d'éléments .parent a ayant un attribut id:

$('.parent a[id]').length
4
Pierre de LESPINAY

Manière simple:

Exemple Fox c'est votre html,

<div class='classname' id='your_id_name'>
</div>

Jquery code:

if($('.classname').prop('id')=='your_id_name')
{
    //works your_id_name exist (true part)
}
else
{ 
    //works your_id_name not exist (false part)
}
3
ArunValaven

Tu peux faire 

document.getElementById(id) or 
$(id).length > 0
2
Ani

Approche pure js:

var elem = document.getElementsByClassName('parent');
alert(elem[0].hasAttribute('id'));

JsFiddle Demo

2
Wallstrider

Vous pouvez utiliser le code suivant:

   if($(".parent a").attr('id')){

      //do something
   }


   $(".parent a").each(function(i,e){
       if($(e).attr('id')){
          //do something and check
          //if you want to break the each
          //return false;
       }
   });

La même question est que vous pouvez trouver ici: comment vérifier si div a id ou pas?

2
brian_wang

Utilisez simplement:

$(".parent a[id]");
1
Broxzier

Vous pouvez utiliser la fonction each () pour évaluer toutes les balises et lier un clic à l'élément spécifique sur lequel vous avez cliqué. Puis jetez un peu de logique avec une instruction if.

Voir violon ici .

$('a').each(function() {
    $(this).click(function() {
        var el= $(this).attr('id');
        if (el === 'notme') {
            // do nothing or something else
        } else {
            $('p').toggle();
        }
    });
});
0
TGEE

Je semblais avoir été capable de le résoudre avec:

if( $('your-selector-here').attr('id') === undefined){
    console.log( 'has no ID' )
}
0
justMoritz