jquery九大选择器

1. 基本选择器 

 基本选择器是JQuery最常用的选择器,也是最简单的选择器,它通过元素id、class和标签名来查找DOM元素(在网页中id只能使用一次,class允许重复使用)。所谓的网页中id只能使用一次的意思是说,一个网页中的id是不可以重复的,也就是具有唯一性。

1、#id

用法: $("#myDiv");    返回值  单个元素的组成的集合

说明: 这个就是直接选择html中的id="myDiv"

2、Element

用法: $("div")    返回值  集合元素

说明: element的英文翻译过来是”元素”,所以element其实就是html已经定义的标签元素,例如div,

input, a等等.

3、class         

用法: $(".myClass")      返回值  集合元素

说明: 这个标签是直接选择html代码中class="myClass"的元素或元素组(因为在同一html页面中

class是可以存在多个同样值的)

4、*         

用法: $("*")      返回值  集合元素

说明: 匹配所有元素,多用于结合上下文来搜索

5、selector1, selector2, selectorN     

用法: $("div,span,p.myClass")    返回值  集合元素

说明: 将每一个选择器匹配到的元素合并后一起返回.你可以指定任意多个选择器, 并将匹配到的元素合

并到一个结果内。其中p.myClass是表示匹配元素

p class="myClass"

2. 层级选择器 

只有这个方法返回的是JQuery对象才能进行链式操作。如果想通过 DOM 元素之间的层次关系来获取特定元素, 例如后代元素, 子元素, 相邻元素, 兄弟元素等, 则需要使用层次选择器。

1 、ancestor descendant

用法: $("form input") ;  返回值  集合元素

说明: 在给定的祖先元素下匹配所有后代元素.这个要和"arent > child"区分开。

祖先元素中查找,包含子元素和子元素的子元素。

2、parent > child

�用法: $("form > input") ;    返回值  集合元素

说明: 在给定的父元素下匹配所有子元素。注意:要区分好后代元素与子元素

父元素中查找,只包含子元素,不包含子元素的子元素。

3、prev + next

用法: $("label + input") ;  返回值  集合元素

说明: 匹配所有紧接在 prev 元素后的 next 元素

4、prev ~ siblings

用法: $("form ~ input") ;    返回值  集合元素

说明: 匹配 prev 元素之后的所有 siblings 元素.注意:是匹配之后的元素,不包含该元素在内,并且JQuery的siblings方法匹配的是和prev同辈的元素,其后辈元素不被匹配.

注意:  ("prev ~ div") 选择器只能选择 "# prev"元素后面的同辈元素; 而 jQuery 中的方法 siblings() 与前后位置无关, 只要是同辈节点就可以选取

3. 过滤选择器

 找到一堆页面元素,我们可以对这些元素加过滤条件,找到我们想要的这些元素,然后进行过滤。通过特定的过滤规则来筛选出所需的 DOM 元素, 该选择器都以 “:” 开头。

 按照不同的过滤规则, 过滤选择器可以分为基本过滤, 内容过滤, 可见性过滤, 属性过滤, 子元素过滤和表单对象属性过滤选择器。

<1>基础过滤选择器

1、:first

�用法: $("tr:first") ;  返回值  单个元素的组成的集合

说明: 匹配找到的第一个元素

2、:last

用法: $("tr:last")  返回值  集合元素

说明: 匹配找到的最后一个元素.与 :first 相对应.

3、:not(selector)

用法: $("input:not(:checked)")  返回值  集合元素

说明: 去除所有与给定选择器匹配的元素.有点类似于”非”,意思是没有被选中的input(当input的

type=”checkbox”).

4、:even

用法: $("tr:even")  返回值  集合元素

说明: 匹配所有索引值为偶数的元素,从0开始计数.js的数组都是从0开始计数的.例如要选择table中的行,因为是从0开始计数,所以table中的第一个tr就为偶数0.

5、:odd

用法: $("tr:odd") 返回值  集合元素

说明: 匹配所有索引值为奇数的元素,和:even对应,从 0 开始计数

6、:eq(index)

用法: $("tr:eq(0)")    返回值  集合元素

说明: 匹配一个给定索引值的元素.eq(0)就是获取第一个tr元素.括号里面的是索引值,不是元素排列数

7、:gt(index)

�用法: $("tr:gt(0)")    返回值  集合元素

说明: 匹配所有大于给定索引值的元素

8、:lt(index)

用法: $("tr:lt(2)")    返回值  集合元素 

说明: 匹配所有小于给定索引值的元素

9、:header(固定写法)

用法: $(":header").css("background", "#EEE")    返回值  集合元素

说明: 匹配如 h1, h2, h3之类的标题元素.这个是专门用来获取h1,h2这样的标题元素

10、:animated(固定写法)  返回值  集合元素

说明: 匹配所有正在执行动画效果的元素

<2>内容过滤选择器

 内容过滤选择器的过滤规则主要体现在它所包含的子元素和文本内容上。

1、:contains(text)

�用法: $("div:contains('John')")    返回值  集合元素

说明: 匹配包含给定文本的元素.这个选择器比较有用,当我们要选择的不是dom标签元素时,它就派上

了用场了,它的作用是查找被标签”围”起来的文本内容是否符合指定的内容的。

2、:empty

用法: $("td:empty")  返回值  集合元素

说明: 匹配所有不包含子元素或者文本的空元素。

3、:has(selector)

用法:  $("div:has('.mini')")返回值  集合元素

说明: 匹配含有选择器所匹配的元素的元素。

4、:parent

�用法: $("td:parent")  返回值  集合元素

说明: 匹配含有子元素或者文本的元素.注意:这里是":parent”,可不是".parent”!感觉与上面讲的”:empty”形成反义词。

<3>可见度过滤选择器

 可见度过滤选择器是根据元素的可见和不可见状态来选择相应的元素。

1、:hidden

用法: $(”tr:hidden”)  返回值  集合元素

说明: 匹配所有的不可见元素,input 元素的 type 属性为 “hidden” 的话也会被匹配到。

意思是css中display:none和input type="hidden"的都会被匹配到.同样,要在脑海中彻底分清楚冒

号":", 点号"."和逗号","的区别。

2、:visible

用法: $("tr:visible")  返回值  集合元素

说明: 匹配所有的可见元素

<4>属性过滤选择器

属性过滤选择器的过滤规则是通过元素的属性来获取相应的元素。

1、[attribute]

�用法: $("div[id]") ;  返回值  集合元素

说明: 匹配包含给定属性的元素。例子中是选取了所有带”id”属性的div标签。

2、[attribute=value]

用法: $("input[name='newsletter']").attr("checked", true);    返回值  集合元素

说明: 匹配给定的属性是某个特定值的元素.例子中选取了所有 name 属性是 newsletter 的 input 元素。

3、[attribute!=value]$("div[title!='test']").css("background","yellow");

用法: $(”input[name!='newsletter']“).attr("checked", true);  返回值  集合元素

说明: 匹配所有不含有指定的属性,或者属性不等于特定值的元素。

此选择器等价于:not此选择器等价于:not([attr=value]),要匹配含有特定属性但不等于特定值的元素,请使用[attr]:not([attr=value])。之前看到的:not 派上了用场。

4、[attribute^=value]

用法: $(”input[name^=‘news’]“)  返回值  集合元素

说明: 匹配给定的属性是以某些值开始的元素.,我们又见到了这几个类似于正则匹配的符号。

5、[attribute$=value]

用法: $("input[name$='letter']")  返回值  集合元素

说明: 匹配给定的属性是以某些值结尾的元素。

6、[attribute*=value]

用法: $("input[name*='man']")  返回值  集合元素

说明: 匹配给定的属性是以包含某些值的元素。

7、[attributeFilter1][attributeFilter2][attributeFilterN]

�用法: $("input[id][name$='man']")  返回值  集合元素

说明: 复合属性选择器,需要同时满足多个条件时使用.又是一个组合,这种情况我们实际使用的时候很常

用.这个例子中选择的是所有含有 id 属性,并且它的 name 属性是以 man 结尾的元素。

<5>子元素过滤选择器

1、:nth-child(index/even/odd/equation)$("div[class=one] :nth-child(2)").css("background","yellow");

用法: $("ul li:nth-child(2)")  返回值  集合元素

说明: 匹配其父元素下的第N个子或奇偶元素.这个选择器和之前说的基础过滤(Basic Filters)中的

eq() 有些类似,不同的地方就是前者是从0开始,后者是从1开始。

2、:first-child$("div[class=one] :first-child")

�用法: $("ul li:first-child")    返回值  集合元素

说明: 匹配第一个子元素。':first' 只匹配一个元素,而此选择符将为每个父元素匹配一个子元素。这里需要特别点的记忆下区别。

3、:last-child

用法: $("ul li:last-child")      返回值  集合元素

说明: 匹配最后一个子元素.':last'只匹配一个元素,而此选择符将为每个父元素匹配一个子元素。

4、: only-child

�用法: $("ul li:only-child")  返回值  集合元素

说明: 如果某个元素是父元素中唯一的子元素,那将会被匹配。如果父元素中含有其他元素,那将不会被匹配。意思就是:只有一个子元素的才会被匹配!

<6>表单对象属性过滤选择器

 此选择器主要对所选择的表单元素进行过滤。

1、:enabled

用法: $("input:enabled")    返回值  集合元素

说明: 匹配所有可用元素。意思是查找所有input中不带有disabled="disabled"的input。不为

disabled,当然就为enabled。

2、:disabled

用法: $("input:disabled")    返回值  集合元素

说明: 匹配所有不可用元素。与上面的enable是相对应的。

3、:checked

用法: $("input:checked")  返回值  集合元素

说明: 匹配所有选中的被选中元素(复选框、单选框等,不包括select中的option)。这话说起来有些绕口。

4、:selected

用法: $(”select option:selected”)  返回值  集合元素

说明: 匹配所有选中的option元素.$("select>option:selected")

<7>表单选择器

1、:input

用法: $(":input") ;  返回值  集合元素

说明:匹配所有 input, textarea, select 和 button 元素。

2、:text

�用法: $(":text") ;  返回值  集合元素

说明: 匹配所有的单行文本框。

3、:password

�用法: $(":password") ; 返回值  集合元素

说明: 匹配所有密码框。

4、:radio

用法: $(":radio") ; 返回值  集合元素

说明: 匹配所有单选按钮。

5、:checkbox

用法: $(":checkbox") ; 返回值  集合元素

说明: 匹配所有复选框。

6、:submit

�用法: $(":submit") ;  返回值  集合元素

说明: 匹配所有提交按钮.

7、:image

用法: $(":image")  返回值  集合元素

说明: 匹配所有图像域。

8、:reset

用法: $(":reset") ;  返回值  集合元素

说明: 匹配所有重置按钮。

9、:button

用法: $(":button") ;  返回值  集合元素

说明: 匹配所有按钮.这个包括直接写的元素button。

10、:file

用法: $(":file") ;  返回值  集合元素

说明: 匹配所有文件域。

11、:hidden

用法: $("input:hidden") ; 返回值  集合元素

说明: 匹配所有不可见元素,或者type为hidden的元素.这个选择器就不仅限于表单了,除了匹配input

---------------------

作者:pseudonym_

来源:CSDN

原文:https://blog.csdn.net/pseudonym_/article/details/76093261

版权声明:本文为博主原创文章,转载请附上博文链接!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,383评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,522评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,852评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,621评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,741评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,929评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,076评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,803评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,265评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,582评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,716评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,395评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,039评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,027评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,488评论 2 361
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,612评论 2 350

推荐阅读更多精彩内容

  • 基础过滤选择器 1、:first�用法: $(”tr:first”) ; 返回值 单个元素的组成的集合 说明...
    依依玖玥阅读 319评论 0 0
  • $(”p”).addClass(css中定义的样式类型); 给某个元素添加样式 $(”img”).attr({sr...
    专注寒冰三千岁阅读 504评论 0 4
  • Attribute: $("p").addClass(css中定义的样式类型); 给某个元素添加样式 $("img...
    扑克脸_457e阅读 560评论 0 1
  • CoreText 是用于处理文字和字体的底层技术。它直接和 Core Graphics(又被称为 Quartz)打...
    SpursGo阅读 1,713评论 0 2
  • 光阴似箭,日月如梭,每个人的面孔总在瞬息万变,世界之大,人潮汹涌,有成千上万的理由都在为离开寻找借口。然而只...
    枕着焦糖布丁的梦阅读 477评论 0 1