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\")
Here you go.
$("div").each(function (index, domEle) {
if (domEle.hasClass("tag")) {
console.log('yes');
} else {
console.log('no');
}
});
if( $(event.target).hasClass("tag") )
{
alert("yes");
}
This will work fine.
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
...
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.
Just use inside the condition:
!domEle.hasClass("tag")