【发布时间】:2011-02-09 17:43:36
【问题描述】:
我正在尝试检查选择器是否有特定的类集。
.hasClass() 只能检查选择器是否有一个类。 .is() 选择器可以查找多个类,但如果选择器至少有一个类,则返回 true。
但我不想实现一种方法来检查选择器是否同时具有这两个类,并且只有当它同时具有这两个类时才会执行操作。
任何指针?
【问题讨论】:
标签: jquery class jquery-selectors conditional
我正在尝试检查选择器是否有特定的类集。
.hasClass() 只能检查选择器是否有一个类。 .is() 选择器可以查找多个类,但如果选择器至少有一个类,则返回 true。
但我不想实现一种方法来检查选择器是否同时具有这两个类,并且只有当它同时具有这两个类时才会执行操作。
任何指针?
【问题讨论】:
标签: jquery class jquery-selectors conditional
你可以简单的列出类名:
.foo.bar.bar
此选择器匹配具有所有类 foo、bar 和 baz 的任何元素。
【讨论】:
hasClass、is 等查询实例/列表? (如果他试图获取一个列表......)或者你可以将它传递给hasClass或其他东西吗?
.is(".foo.bar.bar")
我认为$.is('.class1.class2') 会做你想做的事。例如,$('#foo').is('.a.b') 对以下 div 返回 true,但 $('#foo').is('.a.c') 将返回 false:
<div id="foo" class="a b"></div>
这不是你要找的吗?
【讨论】:
is() 函数应该适合你。
【讨论】:
你可以这样做:
var $blah = $("blah");
if($blah.hasClass("test") && $blah.hasClass("othertest")){
// something
}
... 或使用选择器
$(".test.othertest");
【讨论】:
$('div.class1.class2') 不做你想做的事吗(即,找到任何具有 class1 和 class2 的 div)
【讨论】: