写jq脚本时遇到了需要排除当前触发元素事件的方法,就适用了 not() 方法,由于之前很少使用,对它也不甚了解。今天就索性详细的介绍一下。

jq遍历 not() 方法

not():从一个匹配元素集合中删除指定的元素。

语法:

.not(selector)

参数:

selector:匹配元素选择器的表达式。

jq中 not() 方法的使用方法

例:

<p>我是第一段!</p>
<p id="nocolor">我是第二段!</p>
<p>我是第三段!</p>
<p>飞鸟慕鱼博客!</p>
<script>
// 排除 id 为 nocolor 的P标签,不改其文字颜色!
$('p').not('#nocolor').css('color','red');
</script>

运行图示:

jq中 not() 方法的使用方法

jq中 not() 方法排除当前 $(this) 触发元素

例:

<p>我是第一段!</p>
<p>我是第二段!</p>
<p>我是第三段!</p>
<p>飞鸟慕鱼博客!</p>
<script>
//点击p标签时,除了被点击的P标签,其它的文字都会变红!
$('p').on('click',function(){
    $('p').not($(this)).css('color','red');
});
</script>

运行图示:

jq中 not() 方法排除当前 $(this) 触发元素