0

我需要选择比这些选择器具有任何额外类的所有内容,.not-submenu.separator:not('.first-item').first-item.not-submenu.separator 如何将通配符和 aOR应用于这种情况?

<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>
4

1 回答 1

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');
});

这应该为您提供一个与您的选择器匹配的元素列表,该选择器没有“其他东西”类。顺便说一句,很难弄清楚你的实际选择器是什么(你希望最终得到哪些元素),所以我选择了你的两个例子的简单和通用的东西。

于 2013-11-14T12:44:34.413 回答