如何确定.attr('class')
是否存在?jQuery检查Attr类是否存在?
我使用这个代码:
if(jQuery(this).attr('class') != undefined && jQuery(this).hasClass('myclass')) {
//Do something
}
这似乎并没有工作。
如何确定.attr('class')
是否存在?jQuery检查Attr类是否存在?
我使用这个代码:
if(jQuery(this).attr('class') != undefined && jQuery(this).hasClass('myclass')) {
//Do something
}
这似乎并没有工作。
这取决于你想要什么。你想检查元素是否具有class属性,如:
<div class></div>
<div class=""></div>
<div class="abc"></div>
如果是这样,使用:
if ($('div').attr('class') != undefined)...
如果你想检查是否该元素有一个特定的类,使用方法:
if ($('div').hasClass('abc'))...
如果属性类不存在,则返回值为null或空字符串。
此代码实际工作:fiddle
HTML:
个<div></div>
<div class="myclass"></div>
<div class="blah"></div>
<div></div>
<div class="myclass"></div>
<div class="myclass"></div>
<div></div>
<div class="myclass andAnotherClass"></div>
JS:
$("div").each(function(){
if(jQuery(this).attr('class') != undefined && jQuery(this).hasClass('myclass')) {
jQuery(this).html("I have it");
} else {
jQuery(this).html("I don't have it");
}
});
试试这个..
if(jQuery('#id1').attr('class') =="") { alert($('#id1').attr('class')); }
<div id="id1">test</div>
您可以通过只调用“长度检查,如果有任何一个类的元素存在'在jquery对象上。
$('.myclass').length
只是想知道为什么你要检查attr类是否存在。 'hasClass'将检查它是否有一个类,通常是足够的 – locrizak
它会检查它是否是undefined? – Tom
@Tom:该功能正在做它说的。如果'class'属性不存在或者它是空的,那么显然这个元素没有这个类。你为什么不试试它:http://jsfiddle.net/sP9YR/ –