jQuery-Selectors(选择器)的使用(二、层次篇)
本系列文章主要讲述jQuery框架的选择器(Selectors)使用方法,我将以实例方式进行讲述,以简单,全面为基础,不会涉及很深,我的学习方法:先入门,后进阶!本系列文章分为:基本篇、层次篇、简单篇、内容篇、可见性篇、属性篇、子元素篇、表单篇、表单对象属性篇共9篇文章。
您对本系列文章有任何建议或意见请发送到邮箱:sjzlgt@qq.com
由于是第一次写技术性系列文章,难免会出错或代码BUG,欢迎指出,在此谢过!
您可以到jQuery官网来学习更多的有关jQuery知识。
版权所有:code-cat 博客 转载请保留出处和版权信息!
由于这篇文章中讲到的四种选择器作用范围很容易混淆,且不容易理解。我给出的四个例子还是能说明其作用范围的,并且很清晰,请读者一定仔细研究这四个实例,并作比较!把源码下载下来,试着改其中的条件,并看效果!
jQuery选择器的使用灵活度非常高,至此,您可以利用本文中的四种选择器和上一篇中所讲的选择器组合并看效果,相信你会看到足以令你震撼的结果!
jQuery选择器的使用灵活度非常高,至此,您可以利用本文中的四种选择器和上一篇中所讲的选择器组合并看效果,相信你会看到足以令你震撼的结果!
1. ancestor descendant用法
定义:在给定的祖先元素下匹配所有的符合条件后代元素
返回值:Array<Element>
参数:ancestor (Selector):任何有效选择器 descendant (Selector):用以匹配元素的选择器,并且它是第一个选择器的后代元素
实例:将ID为"div_1"的DIV中所有的Input元素的背景色改为红色
代码: $("div_1 input").css("background-color","red"); //点击按钮一将执行这句代码
定义:在给定的祖先元素下匹配所有的符合条件后代元素
返回值:Array<Element>
参数:ancestor (Selector):任何有效选择器 descendant (Selector):用以匹配元素的选择器,并且它是第一个选择器的后代元素
实例:将ID为"div_1"的DIV中所有的Input元素的背景色改为红色
代码: $("div_1 input").css("background-color","red"); //点击按钮一将执行这句代码
DIV ID="div_1"
注意:本实例请与第2个用法的实例作对比,看其控制范围! DIV ID="div_2"
DIV ID="div_3"
DIV ID="div_4"
DIV ID="div_5"
DIV ID="div_5_1"
2. parent > child用法
定义:在给定的父元素下匹配所有的子元素
返回值:Array<Element>
参数:parent (Selector):任何有效选择器 child (Selector): 用以匹配元素的选择器,并且它是第一个选择器的子元素
实例:将ID为"div_a1"的DIV中所有的Input元素的背景色改为红色
代码: $("#div_a1 > input").css("background-color","red"); //点击按钮二将执行这句代码
定义:在给定的父元素下匹配所有的子元素
返回值:Array<Element>
参数:parent (Selector):任何有效选择器 child (Selector): 用以匹配元素的选择器,并且它是第一个选择器的子元素
实例:将ID为"div_a1"的DIV中所有的Input元素的背景色改为红色
代码: $("#div_a1 > input").css("background-color","red"); //点击按钮二将执行这句代码
DIV ID="div_a1"
DIV ID="div_a2"
DIV ID="div_a3"
DIV ID="div_a4"
DIV ID="div_a5"
DIV ID="div_a5_1"
3. prev + next用法
定义:匹配所有紧接在 prev 元素后的 next 元素
返回值:Array<Element>
参数:prev (Selector):任何有效选择器 next (Selector):一个有效选择器并且紧接着第一个选择器
实例:将ID为"div_b1"的DIV中所有span元素后紧跟的input元素的背景色改为红色
代码:$("#div_b1 span + input").css("background-color","red"); //点击按钮三将执行这句代码
定义:匹配所有紧接在 prev 元素后的 next 元素
返回值:Array<Element>
参数:prev (Selector):任何有效选择器 next (Selector):一个有效选择器并且紧接着第一个选择器
实例:将ID为"div_b1"的DIV中所有span元素后紧跟的input元素的背景色改为红色
代码:$("#div_b1 span + input").css("background-color","red"); //点击按钮三将执行这句代码
DIV ID="div_b1"
span
注意:第一个选择器我用了ancestor descendant用法,您也可以尝试其它用法。本例请与下面第4点的实例作对比并看效果! span
DIV ID="div_b2"
span
span
DIV ID="div_b3"
span
span
DIV ID="div_b4"
span
span
DIV ID="div_b5"
DIV ID="div_b5_1" span
4. prev ~ siblings用法
定义:匹配 prev 元素之后的所有 siblings 元素
返回值:Array<Element>
参数:prev (Selector):任何有效选择器 siblings (Selector):一个选择器,并且它作为第一个选择器的同辈
实例:将ID为"div_c1"的DIV中所有与span元素之后平级的input元素的背景色改为红色
代码:$("#div_c1 span ~ input").css("background-color","red"); //点击按钮四将执行这句代码
定义:匹配 prev 元素之后的所有 siblings 元素
返回值:Array<Element>
参数:prev (Selector):任何有效选择器 siblings (Selector):一个选择器,并且它作为第一个选择器的同辈
实例:将ID为"div_c1"的DIV中所有与span元素之后平级的input元素的背景色改为红色
代码:$("#div_c1 span ~ input").css("background-color","red"); //点击按钮四将执行这句代码
DIV ID="div_c1"
span
注意:DIV ID="div_c1" 和 ID="div_c4"中的span元素前的input并未改变背景色,因为第二个选择器查找第一个选择器之后的元素 span
DIV ID="div_c2"
span
span
DIV ID="div_c3"
span
span
DIV ID="div_c4"
span
span
DIV ID="div_c5"
DIV ID="div_c5_1" span
您可以下载这篇文章的HTML源码:download