Javascript jQuery检查Attr类是否存在?

Javascript jQuery检查Attr类是否存在?,javascript,jquery,class,html,Javascript,Jquery,Class,Html,如何确定.attr('class')是否存在 我正在使用以下代码: if(jQuery(this).attr('class') != undefined && jQuery(this).hasClass('myclass')) { //Do something } 它似乎不起作用。如果属性类不存在,则返回值为null或空字符串。这取决于您需要什么。是否要检查元素是否具有class属性,例如: <div class></div> <div cla

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

我正在使用以下代码:

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

它似乎不起作用。

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

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

<div class></div>
<div class=""></div>
<div class="abc"></div>
如果要检查元素是否具有特定类,请使用:

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

此代码实际上是有效的:

HTML:

试试这个

测试


只需在jquery对象上调用“length”,就可以检查是否存在具有任何类的元素

$('.myclass').length

只是想知道为什么要检查attr类是否存在。
hasClass
将检查它是否有类,并且通常是足够的。它将检查它是否是
未定义的
但是?@Tom:函数正在执行它所说的。如果
class
属性不存在或为空,则元素显然没有该类。你为什么不试试呢:如果我想两个都检查呢?或者
hasClass
是否隐式执行此操作?是的,如果一个元素没有class属性,而您有,比如说,$(…).hasClass('abc'),它只会自动返回false。
<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>​
$("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'));
  }
$('.myclass').length