有没有一种方法在jQuery中确定一个元素是否有一个类?

时间:2012-07-02 10:03:27

标签: jquery

我已使用以下内容确定元素是否隐藏:

if ($("#sidebar").is(':hidden')) {

我是否有某种方法可以确定#sidebar是否具有“黑色”类而不是检查它是否隐藏?

6 个答案:

答案 0 :(得分:9)

Api:.hasClass('black')将为您解决这个问题工作演示 http://jsfiddle.net/xvA8d/2/

链接:http://api.jquery.com/hasClass/

  

确定是否为任何匹配的元素分配了给定的元素   类。

答案 1 :(得分:6)

有很多方法:

所有这些都有各自的优点和缺点:

  • hasClass:通常是最好的选择,检查元素是否具有给定的类,无论它是否还有其他类。
  • is:检查选择器。比hasClass慢,因为它调用选择器引擎,除此之外没有真正不同。更灵活,因为你可以将它与其他选择器混合使用,如果你需要的话,只需检查课程。
  • className:检查元素是否只包含给定的类。通常不是你想要的,但提到它,因为它的一种方式。

答案 2 :(得分:4)

if ($("#sidebar").hasClass('black')) {

答案 3 :(得分:4)

您可以使用.hasClass('black')

if($('#sidebar').hasClass('black');

或者,您可以使用.is()获得更大的灵活性:

if($('#sidebar').is('.black');

.is()允许您使用jQuery提供的各种其他选择器来过滤元素。请注意.hasClass()更快,因为this answer状态。

答案 4 :(得分:3)

if($("#sidebar").hasClass('black'))

答案 5 :(得分:3)

if ($("#sidebar").hasClass('black')) {

doc