如何確定.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/ –