jquery中的层次选择器都有哪些选择器

jquery中的层次选择器都有哪些选择器,第1张

层次选择器

如果想通过DOM元素之间的层次关系来获取特定元素,例如后代元素、子元素、相邻元素和同辈元素等,那么层次选择器是一个非常好的选择。

$(“ancestor

descendant”):选取parent元素后所有的child元素

ancestor的中文意思是“祖先”,descendant的中文意思是“后代”‍

$(“body div”)选取body元素下所有的div元素。    

$(“ul li”)    选取ul元素下所有的li元素。    

$(“#test div”)    选取id为“test”的元素所包含的所有的div子元素    

$(“div#test div”)    选取id为“test”的div所包含的所有的div子元素    

$(“test div”)    选取class为“test”的元素所包含的所有的div子元素    

$(“divtest span”)    选取class为“test”的div所包含的所有的span子元素    

$(“spantest demo”)    选取class为“test”的span所包含的所有的class为demo的元素    

$(“test demo”)    选取class为“test”的元素所包含的所有的class为demo的元素

2 $(“parent

> child”):选取parent元素后所有的直属child元素,何谓“直属”,也就是第一级的意思了

$(“body > div”)选取body元素下所有的第一级div元素。    

$(“ul > li”)    选取ul元素下所有的第一级li元素。    

$(“#test > div”)    选取id为“test”的元素所包含的所有的第一级div子元素    

$(“div#test > div”)    选取id为“test”的div所包含的所有的第一级div子元素    

$(“test > div”)    选取class为“test”的元素所包含的所有的第一级div子元素    

$(“divtest > span”)    选取class为“test”的div所包含的所有的第一级span子元素    

$(“spantest > demo”)    选取class为“test”的span所包含的所有的第一级class为demo的元素    

$(“test > demo”)    选取class为“test”的元素所包含的所有的第一级class为demo的元素

3

$(“prev

+ next”):prev和next是两个同级别的元素 选中在prev元素后面的next元素

$(“#demo+img”)选在id为demo元素后面的img对象如果id为demo元素后面没有同级的img对象,那么这个$(“#demo+img”)length=0

4

$(“prev

~ siblings”):选择prev后面的根据siblings过滤的元素。注:siblings是过滤器

$(“#demo~[title]“)选择id为demo的元素后面所有带有title属性的元素,同样如果id为demo的元素后面没有一个带有title属性的元素,那么$(“#demo~[title]“)length = 0

遍历子元素:

jquery中遍历子元素,可以利用 $("#ul_tags>dl")  这种需要是直接的子节点,或 $("div#ul_tags:dl") 也是可以的,也可以直接使用$("div#ul_tags a")的形式。

jQuery:

jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档 *** 作、事件处理、动画设计和Ajax交互。

jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 60+、FF 15+、Safari 20+、Opera 90+等。

语言特点:

1快速获取文档元素

jQuery的选择机制构建于Css的选择器,它提供了快速查询DOM文档中元素的能力,而且大大强化了JavaScript中获取页面元素的方式。

2提供漂亮的页面动态效果

jQuery中内置了一系列的动画效果,可以开发出非常漂亮的网页,许多网站都使用jQuery的内置的效果,比如淡入淡出、元素移除等动态特效。

3创建AJAX无刷新网页

AJAX是异步的JavaScript和ML的简称,可以开发出非常灵敏无刷新的网页,特别是开发服务器端网页时,比如PHP网站,需要往返地与服务器通信,如果不使用AJAX,每次数据更新不得不重新刷新网页,而使用AJAX特效后,可以对页面进行局部刷新,提供动态的效果。

4提供对JavaScript语言的增强

jQuery提供了对基本JavaScript结构的增强,比如元素迭代和数组处理等 *** 作。

5增强的事件处理

jQuery提供了各种页面事件,它可以避免程序员在HTML中添加太事件处理代码,最重要的是,它的事件处理器消除了各种浏览器兼容性问题。

6更改网页内容

jQuery可以修改网页中的内容,比如更改网页的文本、插入或者翻转网页图像,jQuery简化了原本使用JavaScript代码需要处理的方式。

提供两种方法获取div下第一个或最后一个a标签的内容:

使用选择器 first-child 和 last-child

使用遍历方法 first() 和last()

实例演示如下:

1、HTML结构

<div id="test">

<a href="#">第1个超链接</a>

<a href="#">第2个超链接</a>

<a href="#">第3个超链接</a>

<a href="#">第4个超链接</a>

</div>

<input type="button" id="btn1" value="第一个超链接">

<input type="button" id="btn2" value="最后一个超链接">

2、jquery代码

$(function(){

$("#btn1")click(function() {

var str = $("#test a:first-child")text();

alert(str);

});

$("#btn2")click(function() {

var str = $("#test a")last()text();

alert(str);

});

});

3、效果演示

1

基本选择器

$(#id)

根据给定的id匹配一个元素

$(class)

根据给定的类名匹配元素

$(element)

根据给定的元素名匹配元素

$()

匹配所有元素

$(selector1,selector2,,selectorN)

将每一个选择器匹配到的元素合并后一起返回

2

层次选择器

$("ancestor

descendant")

选取ancestor元素里的所有descendant(后代)元素

$("parent

>

child")

只选取parent元素下的child(子层级)元素,与$("ancestor

descendant")有区别,前者选择所有后代元素(含且不限于子层级)

$('prev

+

next')

选取紧接在prev元素后的next元素

$('prev

~

siblings')

选取prev元素之后的next元素

3

过滤选择器

31

基本过滤选择器

$("selector:first")

选取第一个元素

$("selector:last")

选取最后一个元素

$("selector:not(selector2)")

去除所有与给定选择器匹配的元素

$("selector:even")

选取索引是偶数的所有元素,索引从0开始

$("selector:odd")

选取索引是奇数的所有元素,索引从0开始

$("selector:eq(index)")

选取索引等于index的元素,index从0开始

$("selector:gt(index)")

选取索引大于index的元素,index从0开始

$("selector:lt(index)")

选取索引小于index的元素,index从0开始

$(":header")

选取所有的标题元素,如h1,h2,h3等等

$(":animated")

选取当前正在执行动画的所有元素

32

内容过滤选择器

$(":contains(text)")

选取含有文本内容为"text"的元素

$(":empty")

选取不包含子元素或者文本的空元素

$(":has(selector2)")

选取含有选择器所匹配的元素的元素

$(":parent")

选取含有子元素或者文本的元素

33

可见性过滤选择器

$(":hidden")

选取所有不可见的元素

$(":visible")

选取所有可见的元素

34

属性过滤选择器

$("selector[attribute]")

选取拥有此属性的元素

$("selector[attribute=value]")

选取属性的值为value的元素

$("selector[attribute!=value]")

选取属性的值不等于value的元素

$("selector[attribute^=value]")

选取属性的值以value开始的元素

$("selector[attribute$=value]")

选取属性的值以value结束的元素

$("selector[attribute=value]")

选取属性的值含有value的元素

$("selector[selector2][selectorN]")

用属性选择器合并成一个复合属性选择器,满足多个条件。每选择一次,缩小一次范围,如$("div[id][title$='test']")选取拥有属性id,并且属性title以"test"结束的<div>元素

35

子元素过滤选择器

$(":nth-child(index/even/odd/equation)")

选取每个父元素下的第index个子元素或者奇偶元素,index从1算起

$("selector:first-child")

选取每个父元素的第一个子元素

$("selector:last-child")

选取每个父元素的最后一个子元素

$("selector:only-child")

如果某个元素是它父元素中唯一的子元素,那么将会被匹配。如果父元素中含有其他元素,则不会被匹配

36

表单对象属性过滤选择器

$("selector:enabled")

选取所有可用元素

$("selector:disabled")

选取所有不可用元素

$("selector:checked")

选取所有被选中的元素(radio,checkbox)

$("selector:selected")

选取所有被选中的选项元素(select)

4

表单选择器

$(":input")

选取所有的<input>,<textarea>,<select>,<button>元素

$(":text")

选取所有的单行文本框

$(":password")

选取所有的密码框

$(":radio")

选取所有的单选框

$(":checkbox")

选取所有的复选框

$(":submit")

选取所有的提交按钮

$(":image")

选取所有的图像按钮

$(":reset")

选取所有的重置按钮

$(":button")

选取所有的按钮

$(":file")

选取所有的上传域

$(":hidden")

选取所有不可见元素

和现实生活中的概念一样,子就是指儿子,是自己直接生出来的,而后代则是指儿子、孙子、曾孙、重孙……十八代……乃至千秋万代,即辈分低于自己的所有都是后代。

比如下面的:

<div>

<ul>

<li>111</li>

<li>222</li>

<li>333</li>

</ul>

<p>

<span></span>

</p>

</div>

ul是div的子元素,p也是div的子元素,li是ul的子元素,span是p的子元素,li和span不是div的子元素;

而ul、li、p、span都是div的后代元素。

在JQuery中,$("div

ul")

这样选择的其实是后代元素,即ul不管与div隔了多少代都会被选中;只有

$("div>ul")

这样才是真正选择的子元素,即紧挨着div的ul

以上就是关于jquery中的层次选择器都有哪些选择器全部的内容,包括:jquery中的层次选择器都有哪些选择器、【jQuery】$("#ID div").each(function(){ 如何只遍历子元素而非全部元素、用jQuery怎么获取div下第一个或最后一个a标签的内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9302476.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存