如何使用jQuery选择没有任何类的元素?

Eri*_*air 4 jquery filter jquery-selectors

我有一个页面,其中包含许多附加了相同类的元素:

<div class="everyDiv"></div>
<div class="everyDiv"></div>
<div class="everyDiv"></div>
<div class="everyDiv"></div>
...
Run Code Online (Sandbox Code Playgroud)

我根据用户选择隐藏/显示它们的过滤器添加了其他类:

<div class="everyDiv hide1"></div>
<div class="everyDiv hide2"></div>
<div class="everyDiv hide3"></div>
<div class="everyDiv hide2 hide3"></div>
...
Run Code Online (Sandbox Code Playgroud)

现在,我需要选择一个范围(使用slice()的)的.everyDiv的元素,不要有任何"隐藏" classse的- .hide1 .hide2 .hide3.

我怎么能用jQuery做到这一点?

我试过以下但没有成功:

$("div.everyDiv").not(".hide1").not(".hide2").not(".hide3").slice(n1, n2);

$("div.everyDiv:not(.hide1):not(.hide2):not(.hide3)").slice(n1, n2);
Run Code Online (Sandbox Code Playgroud)

这也不起作用:

$("div.everyDiv:not(.hide1), div.everyDiv:not(.hide2), div.everyDiv:not(.hide3)").slice(n1, n2);
Run Code Online (Sandbox Code Playgroud)

基本上,所有"hide#"类都有CSS display: none;,所以我需要选择我指定的不是"隐藏"的div范围.

Pat*_*cia 15

这应该这样做:

$('div.everyDiv:not(.hide1, .hide2, .hide3)').hide();
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/s9uyk/

根据评论:使小提琴正在做的更明显:不是它为所有那些没有任何隐藏类的类添加了一个类. http://jsfiddle.net/s9uyk/2/