【问题标题】:chaining classes for .hasClass();.hasClass() 的链接类;
【发布时间】:2011-08-11 16:09:10
【问题描述】:

需要以下条件才能工作:

http://jsfiddle.net/xavi3r/4J583/

<div class="cmAuto active a default"></div>
$('body').append("<div>" + $('div').hasClass('.active.default') + "</div>");

输出应该是 TRUE,但它返回 false。

编辑:

对于那些寻找正确代码的人:

http://jsfiddle.net/xavi3r/4J583/8/

【问题讨论】:

    标签: jquery


    【解决方案1】:

    hasClass 采用单个类名。
    你应该使用.is,它接受一个选择器(可以包含多个类名)。

    【讨论】:

    • jsfiddle.net/xavi3r/4J583/8 .is 非常感谢,只是假设 .hasClass 将支持多个类,猜我的假设不正确,感谢 SLaks 的帮助
    【解决方案2】:

    我喜欢这个

    $('body').append("<div>" + ($('div.active.default').length > 0) + "</div>");
    

    【讨论】:

    • 您需要.length$(...) 永远真实。
    • 伟大的 Joseph +1 感谢您最后的回答,我使用了 .is,因为它更好地满足了我的要求,但我很感谢您的回答。
    【解决方案3】:

    http://jsfiddle.net/4J583/10/

    使用 &amp;&amp;:D

    【讨论】:

    • 那将匹配任一类,而不是两者。
    • jsfiddle.net/xavi3r/4J583/6 对于没有两者的类显示为 true,请参阅小提琴
    • 已更新,我忘记了括号 () :D 现在应该可以使用了 :)
    • 感谢 Cristy 我选择了 .is,但非常感谢您的贡献 +1
    • @Cristy 为什么返回布尔值的 hasClass 可以被链接?即:$('div').hasClass('test').addClass('test-new').. 这是怎么工作的?
    猜你喜欢
    • 2014-11-08
    • 2012-11-22
    • 1970-01-01
    • 2011-10-13
    • 2012-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多