我有一个类"check-cls agent-cls corporate-cls log-out-cls hidden"
存在的页面。当我在jQuery命令下运行时,它返回结果:
Jquery的:
$(".check-cls.agent-cls.corporate-cls.log-out-cls");
结果:0:li.check-cls.agent-cls.corporate-cls.log-out-cls.hidden
为什么还要上隐藏班?我想对包含.check-cls.agent-cls.corporate-cls.log-out-cls
类的元素执行操作,但也会在li.check-cls.agent-cls.corporate-cls.log-out-cls.hidden
上应用操作。
答案 0 :(得分:2)
当您使用多类选择器时,它将针对具有类"check-cls agent-cls corporate-cls log-out-cls hidden"
的元素的两个类的元素满足要求。
使用:not()
selector,您可以排除.hidden
类
$(".check-cls.agent-cls.corporate-cls.log-out-cls:not(.hidden)");
答案 1 :(得分:0)
尝试:可见
$(".check-cls.agent-cls.corporate-cls.log-out-cls:visible");
答案 2 :(得分:0)
这是因为jquery选择器将类与所有元素进行匹配。现在,由于具有隐藏类的元素也具有这些类,因此它被选中。
要选择具有您定义的所有类名并且没有隐藏类的元素,
$(".check-cls.agent-cls.corporate-cls.log-out-cls").not('.hidden');
或
$(".check-cls.agent-cls.corporate-cls.log-out-cls:not(.hidden)")