微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Jquery – .fadeOut除了那些带有这些id的人之外的所有div?

除了那些与这三个id中的任何一个之外,我怎么能淡出所有div?

#dontFadeOne
#dontFadeTwo
#dontFadeThree

我在想这样的事情:

$("div").notAnyOf("dontFadeOne","dontFadeTwo","dontFadeThree").fadeOut();

但我找不到’不是’任何功能.

解决方法

看看.not()函数

http://api.jquery.com/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表达式完成相同的操作,但是当例如其他库提供对纯DOM节点的引用时,此技术非常有用.

从jQuery 1.4开始,.not()方法可以将函数作为其参数,与.filter()相同.函数返回true的元素将从过滤集中排除;包括所有其他元素.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐