我有一个class为'tag'的DOM元素。
我想要检查它的class值是否为tag,如果是则弹出一个消息。
我写了以下代码:
$("#thread").each(function(event) {
if(event.target.class == 'tag') alert('yes');
});
但它没有起作用。使用此代码,您可以使用event.target.id获取ID,但无法获取class?在event.target之后你可以拥有哪些值?
我有一个class为'tag'的DOM元素。
我想要检查它的class值是否为tag,如果是则弹出一个消息。
我写了以下代码:
$("#thread").each(function(event) {
if(event.target.class == 'tag') alert('yes');
});
但它没有起作用。使用此代码,您可以使用event.target.id获取ID,但无法获取class?在event.target之后你可以拥有哪些值?
if( $(event.target).hasClass("tag") )
{
alert("yes");
}
这将很好地工作。
event
参数仅适用于事件处理程序,并且您正在使用$.each
方法。$.each
方法,因为您正在使用#id
选择器,而id应该是唯一的。hasClass
方法:if ($("#thread").hasClass('tag')) {
//...
}
如果你有一个DOM元素,要获取它的class属性,你应该使用className
来访问它,而不是class
,因为在JavaScript中class
是一个未来保留字。同样的事情也发生在其他属性上,如for
,应该使用htmlFor
来访问...
$(event.target).attr("class")
来获取被点击元素的类名,例如。如果你有编号的类名,你不需要为每个情况编写一个 case... - m3nda您正在错误地使用jQuery的each方法。它需要两个参数,但其中没有一个是事件(它不会响应目标属性)。请参阅文档:
$.each([52, 97], function(index, value) {
alert(index + ': ' + value);
});
给你。
$("div").each(function (index, domEle) {
if (domEle.hasClass("tag")) {
console.log('yes');
} else {
console.log('no');
}
});
只需在条件语句中使用:
!domEle.hasClass("tag")