Элемент ID бар болса jQuery?

Идентификаторы бар элементтерді қалай таңдауға болады? Мысалға:

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

Мен jQuery-де шебер емеспін.

32
Барлық көмектеріңіз, ұсыныстарыңыз және жақсартуларыңыз үшін рахмет! :)
қосылды автор Aaron Brewer, көзі
Мен элементтегі id төлсипаты бар ата-ана ішіндегі элементтер болса, сценарийді өшіре аламын.
қосылды автор Aaron Brewer, көзі
Неліктен мұны істегіңіз келеді? Сіз шынымен не істеуді жоспарлайсыз?
қосылды автор musefan, көзі
қосылды автор Felix Kling, көзі
ықтимал көшірмесі jQuery тек барлық идентификатор элементтерін идентификаторлармен алады
қосылды автор MrCode, көзі
Сізге/олармен бірдеңе істеу үшін «элементтерді таңдауды» немесе мұндай элементтердің бар-жоғын тексеруді қалайсыз ба?
қосылды автор nnnnnn, көзі
Белгілі бір элемент id төлсипатының бар-жоғын тексеру үшін .is ('[id]') пайдаланыңыз. Немесе элементтер жинағын сүзгілеу қажет болса, .filter ('[id]') сөзін пайдаланыңыз және .length сипатын салыстырыңыз
қосылды автор Ian, көзі

10 жауаптар

Бұл сияқты:

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

Following OP's comment, test it Бұл сияқты:

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

Барлық төлсипат тегтерін атрибут идентификаторы бар сынып ата-аналарымен қайтарады

42
қосылды
Сіз if ($ ('.parent a [id]') ұзындығы) дегенді білдіресіз бе?
қосылды автор Pierre de LESPINAY, көзі
Кешірім қате жасады
қосылды автор A. Wolff, көзі

JQuery's .is() функциясын қолдануға болады.

if ($ («.parent a») болып табылады («# idSelector»)) {

 //Материал істеңіз
 
     

}

Бастапқы якорьде #idSelector id болса, ол шындыққа қайтарылады.

11
қосылды
Бұл үлкен жауап, алайда элементтің нақты идентификаторы бар-жоғын тексергіңіз келсе! +1
қосылды автор The Codesee, көзі
Жоқ. Элементтің нақты идентификаторы бар-жоғын айтады. Сұрақ: Идентификатордың бар-жоғын сұрайды. Екі жыл бұрын қабылданған жауапты қараңыз.
қосылды автор Quentin, көзі

id төлсипаты бар .parent a элементтерінің саны:

$('.parent a[id]').length
4
қосылды
$ ('ата-аналық [id]') ұзындығы . Жауап жаңартылды
қосылды автор Pierre de LESPINAY, көзі
Бірақ мәселе «элементтер» (көпше) және .attr() тек қана осы селекторға сәйкес келетін бірінші элементтен идентификаторды алады.
қосылды автор nnnnnn, көзі
Дұрыс емес көтерілімдерді есептен шығару үшін төменде келтірілген
қосылды автор Esailija, көзі

Қарапайым жол:

Fox мысалы бұл сіздің html,

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

Jquery коды:

if($('.classname').prop('id')=='your_id_name')
{
    //works your_id_name exist (true part)
}
else
{ 
    //works your_id_name not exist (false part)
}
3
қосылды

Таза көзқарас:

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

JsFiddle Demo

2
қосылды

Сен жасай аласың

document.getElementById(id) or 
$(id).length > 0
2
қосылды
Жоқ, OP қандай элементтерде белгілі бір белгілі идентификатор арқылы таңдалмаған кез-келген мәнмен анықталған id төлсипатын анықтауға тырысады.
қосылды автор nnnnnn, көзі
Ох .... Сұрақ түсініксіз ... рахмет ...
қосылды автор Ani, көзі

Келесі кодты пайдалана аласыз:

   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;
       }
   });

The same question is you can find here: how to check if div has id or not?

2
қосылды
Бірақ мәселе «элементтер» (көпше) және .attr() тек қана осы селекторға сәйкес келетін бірінші элементтен идентификаторды алады.
қосылды автор nnnnnn, көзі
менің кодтарымды көріп, түсінігімді түзетіңіз :).
қосылды автор brian_wang, көзі

Жай пайдалану:

$(".parent a[id]");
1
қосылды
қуырылған, қазірдің өзінде сол жауапты берген: stackoverflow.com/a/17277848/218196 .
қосылды автор Felix Kling, көзі

Әрбір() функциясын барлық тегтерді бағалауға және басқаннан кейін сіз басқан нақты элементке басу үшін пайдалана аласыз. Содан кейін кейбір логиканы if if операторымен тастаңыз.

fiddle жерде қараңыз.

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

Мен оны келесідей шеше алдым деп ойладым:

if( $('your-selector-here').attr('id') === undefined){
    console.log( 'has no ID' )
}
0
қосылды