您的位置:首页 > Web前端 > JQuery

jQuery过滤选择器:not()方法使用介绍

2016-07-30 09:13 761 查看
在jQuery的早期版本中,:not()筛选器只支持简单的选择器,说明我们传入到:not这个filter中的selector可以任意复杂,比如:not(div a) and :not(div,a)

<p class="a">sdfsdfs</p>
<p class="b">sdfsdfs</p>
<p class="c">sdfsdfs</p>
$("p:not(.a)").css({"color":"red"})


那么除了class等于a的p元素外,其他的P的文字颜色就变成了红色.

:not()伪类过滤选择器,这叫法真拗口,jQuery的:not()方法是jQuery的伪类选择器,可以过滤不需要的元素,筛选出正确的结果,简单的说我们有如下代码:

$("selector1:not(selector2)")


我们分析下上面的代码,我们要获取selector1的元素,但可能我不需要全部,怎么办,通过:not()方法来过滤,如果selector1的集合中有#1,#2,#3,#4

我们的selector2就是要过滤掉#4,上面的代码我们最终将获得#1,#2,#3

再举几个列子

$(‘li:not(:only-child)')//匹配所有的li,除了只有一个子元素的
$(‘li:not(:first-child)');//匹配除了在他父元素中是第一个子元素的LI
$("li :not(:first)").hide();//隐藏除了第一个LI外的所有LI


我们经常会用到属性[Attribute]选择器,例如

<div>
<p>Hello!</p>
</div>
<div id="test2"></div>


jQuery 代码:

$("div[id]")


结果:

[ <div id="test2"></div> ]


但是,我们要选择的是没有id的Div,那应该怎么写呢?

这时候,我们应该使用:not

$("div :not([id])")
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: