use event.target to get the class value?

后端 未结 5 1176
你的背包
你的背包 2021-02-02 18:13

i have a DOM element with class=\'tag\'.

i want to check if the class value is tag and alert a message if it\'s true.

i wrote:

    $(\"#thread\")         


        
相关标签:
5条回答
  • 2021-02-02 18:20

    Here you go.

    $("div").each(function (index, domEle) {
        if (domEle.hasClass("tag")) {
            console.log('yes');
        } else {
            console.log('no');
        }
    });
    
    0 讨论(0)
  • 2021-02-02 18:22
    if( $(event.target).hasClass("tag") )
    {
       alert("yes");
    }
    

    This will work fine.

    0 讨论(0)
  • 2021-02-02 18:23

    At first, the event argument work only for event handlers, and you are using the $.each method.

    I don't really think that you want/need to use the $.each method, since you are using an #id selector, and id's should be unique.

    To check if an element contains an specific class you can use the hasClass method:

    if ($("#thread").hasClass('tag')) {
      //...
    }
    

    Also if you have a DOM element, to get it's class attribute, you should access it with className instead class, that's because class is a future reserved word in JavaScript, the same thing happens with other attributes like for, should be accessed as htmlFor...

    0 讨论(0)
  • 2021-02-02 18:27

    you are using jquery's each method incorrectly. it takes two arguments, neither one of them is an event (that would respond to the target property). from the docs:

    $.each([52, 97], function(index, value) { 
      alert(index + ': ' + value); 
    });
    

    See CMS's answer for the proper way of checking if elements have a given class name.

    0 讨论(0)
  • 2021-02-02 18:30

    Just use inside the condition:

    !domEle.hasClass("tag")
    
    0 讨论(0)
提交回复
热议问题