我需要选择除了这些选择器.not-submenu.separator:not('.first-item')
,.first-item.not-submenu.separator
之外的所有额外类别的所有内容
我如何应用通配符和OR
来处理这种情况?
<li class="first-item not-submenu separator"></li>
<li class="not-submenu separator"></li>
<li class="not-submenu separator randomclass1"></li>//remove everything that have an extra class and still matches the other selectors
<li class="not-submenu separator randomclass2"></li>
<li class="not-submenu separator randomclass3"></li>
(...)
<li class="not-submenu separator randomclassn"></li>
答案 0 :(得分:1)
您可以将函数传递给filter方法并返回true或false以指示是否保留所选元素。像这样:
$(".not-submenu.separator").filter(function(index) {
// 'this' refers to the current element
// 'index' is fairly useless but I wanted to demonstrate the API
return ! $(this).hasClass('something-else');
});
这应该会给你一个与你的选择器相匹配的元素列表,这个元素不具有类别&#34;其他东西。&#34;顺便说一下,很难弄清楚你的实际选择器是什么(你希望最终选择哪些元素),所以我选择了两个简单而通用的例子。