3

我使用以下方法确定元素是否隐藏:

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

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

4

6 回答 6

9

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

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

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

于 2012-07-02T10:04:11.723 回答
6

有很多方法:

它们都有自己的优点和缺点:

  • hasClass:通常最好的选择,检查元素是否有给定的类,不管它是否还有其他类。
  • is: 检查选择器。比 hasClass 慢,因为它调用选择器引擎,除此之外并没有什么不同。更灵活,因为您可以将它与其他选择器混合使用,而不是在需要时检查类。
  • className:检查元素是否只有给定的类。通常不是你想要的,但因为它一种方式而被提及。
于 2012-07-02T10:06:57.433 回答
4
if ($("#sidebar").hasClass('black')) {
于 2012-07-02T10:04:41.413 回答
4

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

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

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

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

.is()允许您使用 jQuery 提供的各种其他选择器过滤元素。但是,请注意.hasClass(),正如this answer所述,这更快。

于 2012-07-02T10:06:56.857 回答
3
if($("#sidebar").hasClass('black'))
于 2012-07-02T10:04:24.607 回答
3
if ($("#sidebar").hasClass('black')) {

文档。_

于 2012-07-02T10:04:34.870 回答