除了那些有这三个身份的人之外,我怎么能淡出所有div?
#dontFadeOne
#dontFadeTwo
#dontFadeThree
我在想这样的事情:
$("div").notAnyOf("dontFadeOne","dontFadeTwo","dontFadeThree").fadeOut();
但是我找不到'不是'任何功能。
答案 0 :(得分:4)
看一下.not()函数:
由于官方文档非常清楚地解释了这一点,因此它来自API网站:
.not()方法的第二个版本允许我们从匹配集中删除元素,假设我们之前通过其他方式找到了这些元素。例如,假设我们的列表中有一个ID应用于其中一个项目:
<ul>
<li>list item 1</li>
<li>list item 2</li>
<li id="notli">list item 3</li>
<li>list item 4</li>
<li>list item 5</li>
</ul>
我们可以使用本机JavaScript getElementById()函数获取第三个列表项,然后从jQuery对象中删除它:
$('li').not(document.getElementById('notli'))
.css('background-color', 'red');
此语句更改了项目1,2,4和5的颜色。我们可以使用更简单的jQuery表达式完成相同的操作,但是当例如其他库提供对plain DOM的引用时,此技术非常有用。节点
从jQuery 1.4开始,.not()方法可以将函数作为其参数,与.filter()相同。函数返回true的元素将从过滤集中排除;包括所有其他元素。
答案 1 :(得分:3)