jQuery检查Attr类是否存在?

时间:2011-07-28 12:56:11

标签: javascript jquery class html

如何确定.attr('class')是否存在?

我正在使用此代码:

if(jQuery(this).attr('class') != undefined && jQuery(this).hasClass('myclass')) {
  //Do something
}

它似乎不起作用。

5 个答案:

答案 0 :(得分:20)

这取决于你想要什么。是否要检查元素是否具有class属性,例如:

<div class></div>
<div class=""></div>
<div class="abc"></div>

如果是,请使用:

if ($('div').attr('class') != undefined)...

如果您要检查元素是否具有特定类,请使用:

if ($('div').hasClass('abc'))...

答案 1 :(得分:1)

试试这个..

if(jQuery('#id1').attr('class') =="") {
       alert($('#id1').attr('class'));
  }
     

<div id="id1">test</div>

答案 2 :(得分:1)

你可以通过在jquery对象上调用'length'来检查是否存在任何类的元素。

$('.myclass').length

答案 3 :(得分:0)

如果属性类不存在,则返回值为null或空字符串。

答案 4 :(得分:0)

此代码实际上有效: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");
      }
});​