jQuery学习一(选择器)

 一直在学习web前端的知识,学习jQuey也有一段时间了,想总结一下。这一章先来学习jQuery选择器的知识。

一、jQuery选择器的介绍

jQuery中的选择器完全继承了css的风格。利用jQuery选择器,可以非常快速和便捷的找出DOM元素,学习jQuery选择器是学习jQuery的基础,因为所有的行为都要在获取元素之后才能生效

二、jQuery选择器

1、基本选择器

基本选择器是最常用也是最简单的选择器,通过元素的id,class和标签名等来查找DOM元素

选择器 描述 返回 示例
#id 根据给定的id匹配一个元素 单个元素 $("#test")选取id为test的元素
.class 根据给定的类名匹配元素 集合元素 $(".test")选取class为test的所有元素
element 根据给定的元素名匹配元素 集合元素 $("p")选取所有的<p>元素
* 匹配所有元素 集合元素 $("*")选取所有的元素
selector1,selector2,....,selectorn 将每一个选择器匹配到的元素合并后一起返回 集合元素 $("div,span,p.myClass")选取所有的<div>,<span>拥有class为myClass的<p>元素

2、层次选择器

例如后代元素、子元素、相邻元素、同辈元素等,层次选择器是一个非常好的选择器

选择器 描述 返回 示例
$("ancestor descendant") 选择ancestor元素里所有的descendant(后代)元素 集合元素 $("div span")选择<div>里所有的<span>元素
$("parent > child") 选择parent元素下的child(子)元素。与$("ancestor descendant")有区别,$("ancestor descendant")选择的是后代元素 集合元素 $("div > span")选取<div>元素下元素名为<span>的子元素
$("prev + next") 选择紧接在prev元素后的next元素 集合元素 $(".one + div")选取class为one的下一个<div>同辈元素
$("prev ~ siblings") 选取prev元素之后的所有siblings元素 集合元素 $("#two~div")选取id为two的元素后面的所有<div>同辈元素

层次选择器中增加两个方法的介绍,next()方法可以用来代替$(".one + div"),nextAll()方法可以用来代替$("#prev~div")。siblings()方法与$("#prev~div")进行比较,siblings()方法与前后位置无关,只要是同辈节点就能匹配,$("#prev~div")只能选择"prev"元素之后的同辈元素"<div>"

3、过滤选择器

  过滤选择器与css中的伪类选择器语法相同,即以一个冒号(:)开头。按照不同的过滤规则,过滤选择器可以分为基本过滤、内容过滤、可见性过滤、属性过滤、子元素过滤和表单对象属性过滤选择器

a、基本过滤选择器

选择器 描述 返回 示例
:first 选择第一个元素 单个元素 $("div:first")选择第一个<div>元素
:last 选择最后一个元素 单个元素 $("div:last")选择所有<div>元素中最后一个<div>元素
:not(selector) 去除所有与给定的选择器匹配的元素 集合元素 $("input:not(.myClass)")选取class不是myClass的input元素
:even 选择索引为偶数的元素,索引从0开始 集合元素 $("input:even")选取索引为偶数的input元素
:odd 选择索引为奇数的元素,索引从0开始 集合元素 $("input:odd")选取索引为奇数的input元素
:eq(index) 选择索引等于index的元素(index从0开始) 单个元素 $("input:eq(1)")选取索引为1的input元素
:gt(index) 选择索引大于index的元素(index从0开始) 集合元素 $("input:gt(1)")选取索引大于1的input元素
:lt(index) 选择索引小于index的元素(index从0开始) 集合元素 $("input:lt(1)")选取索引小于1的input元素
:header 选择所有的标题元素,例如h1,h2,h3等等 集合元素 $(":header")选取所有的标题元素
:animated 选择当前正在执行动画的元素 集合元素 $("div:animated")选取正在执行动画的<div>元素
:focus 选择所有获取焦点的元素 集合元素 $(":focus")选取当前获取焦点的元素

  b、内容过滤选择器

选择器 描述 返回 示例
:contains(text) 选择包含文本内容为"text"的元素 集合元素 $("div:contains(‘我‘)")选取含有文本"我"的<div>元素
:empty 选择不包含子元素或者文本内容为空的元素 集合元素 $("div:empty")选取不包含子元素或者文本内容为空的<div>元素
:has(selector) 选择含有"匹配选择器的元素"的元素 集合元素 $("div:has(p)")选取含有<p>元素的<div>元素
:parent 选择包含子元素或者有文本内容的元素 集合元素 $("div:parent")选取拥有子元素(包括文本元素)的<div>元素

  

   c、可见性过滤器

选择器 描述 返回 示例
:hidden 选择所有不可见的元素 集合元素 $(":hidden")选择所有不可见得元素,包括<input type="hidden"/>,<div sytle="display:none;">,<div style="visibility:hidden">等元素,如果只想选择<input>元素,可以时间用$("input:hidden")
:visible 选择所有可见的元素 集合元素 $("div:visible")选取所有可见的<div>元素

  

  

d、属性过滤选择器

    属性过滤选择器是通过元素的属性来获取想过的元素的

选择器 描述 返回 示例
[attribute] 选择拥有此属性的元素 集合元素 $("div[id]")选取拥有id属性的<div>元素
[attribute=value] 选择属性的值为value的元素 集合元素 $("div[id=test]")选择id属性值等于test的<div>元素
[attribute!=value] 选择属性的值不为value的元素 集合元素 $("div[id=!test]")选择id属性值不等于test的<div>元素(注意:没有属性id的<div>元素也会被选取)
[attribute^=value] 选择属性的值以value开头的元素 集合元素 $("div[id^=test]")选择id属性值以test开头的<div>元素
[attribute$=value] 选择属性的值以value结束的元素 集合元素 $("div[id$=test]")选择id属性值以test结尾的<div>元素
[attribute*=value] 选择属性的值包含value的元素 集合元素 $("div[id*=test]")选取id属性值含有test的<div>元素
[attribute|=value] 选择属性的值等于value或以value为前缀(value后跟一个连字符"-")的元素 集合元素 $("div[id|=test]")选取id属性值等于或以test为前缀的<div>元素
[attribute~=value] 选择属性用空格分隔的值中包含一个value的元素 集合元素 $("div[title~="uk"]")选取属性title用空格分开的值中包含字符uk的元素
[attribute1][attribute2][attributeN] 用属性选择器合并成一个复合选择器,满足多个条件 集合元素 $("div[id][title$=‘uk‘]")选取拥有id属性,并且属性title以uk结尾的<div>元素

   

e、子元素过滤选择器

选择器 描述 返回 示例
:nth-child(index/even/odd/equation) 选取每个父元素下的第index个元素或者基偶元素。(index从1算起) 集合元素 :eq(index)只匹配一个元素,而:nth-child(index)为每一个父元素匹配子元素,而且:nth-child(index)的index是从1计算的,:eq(index)是从0计算的
:first-child 选取每个父元素的第1个子元素 集合元素 :first只返回单个元素,而:first-child选择器将为每一个父元素匹配第一个子元素,例如$("ul li:first-child")选取每个ul中的第一个li元素
:last-child 选取每个父元素的最后一个子元素 集合元素 :last只返回单个元素,而:last-child选择器为每一个父元素匹配最后一个子元素,例如$("ul li:last-child")选取每个ul中最后一个li元素
:only-child 如果某个元素是父元素中唯一的元素,那么将会匹配,如果父元素中包含其他的元素,则不会匹配 集合元素 $("ul li:only-child")在<ul>中选取是唯一子元素的li元素

  

  

:nth-child的详细解释

  :nth-child(even)能选择每个父元素下的索引值是偶数的元素

  :nth-child(odd)能选择每个父元素下的索引值是基数的元素

  :nth-child(2)能选择每个父元素下的索引值是2的元素

  :nth-child(3n)能选择每个父元素下索引值是3的倍数的元素(n从1开始)

  :nth-child(3n+1)能选择每个父元素下索引值是(3n+1)的元素(n从1开始)

  f、表单对象属性过滤选择器

选择器 描述 返回 示例
:enabled 选择所有可用元素 集合元素 $("#form1:enabled")选择id为form1的表单内所有的可用元素
:disabled 选择所有不可用元素 集合元素 $("#form1:disabled")选择id为form1的表单内所有的不可用元素
:checked 选择所有选中的元素(单选框,复选框) 集合元素 $("input:checked")选择所有被选中的input元素
:selected 选择所有被选中的选项元素(下拉列表) 集合元素 $("select option:selected")选择所有被选中的选项元素

  4、表单选择器

选择器 描述 返回 示例
:input 选取所有的<input>、<textarea>、<select>和<button>元素 集合元素 $(":input")选取所有<input>、<textarea>、<select>和<button>元素
:text 选取所有的单行文本框 集合元素 $(":text")选取所有的单行文本框
:password 选取所有的密码框 集合元素 $(":password")选取所有的密码框
:radio 选取所有的单选框 集合元素 $(":radio")选取所有的单选框
:checkBox 选取所有的多选框 集合元素 $(":checkBox")选取所有的多选框
:submit 选取所有的提交按钮 集合元素 $(":submit")选取所有的提交按钮
:image 选取所有的图像按钮 集合元素 $(":image")选取所有的图片按钮
:reset 选取所有的重置按钮 集合元素 $(":reset")选取所有的重置按钮
:button 选取所有的按钮 集合元素 $(":button")选取所有的按钮
:file 选取所有的上传域 集合元素 $(":file")选取所有的上传域
:hidden 选取所有的不可见元素 集合元素 $(":hidden")选取所有的不可见元素
时间: 2024-10-05 04:33:34

jQuery学习一(选择器)的相关文章

JQuery学习笔记-选择器-(一)

选择器的简单使用 <%-- Created by IntelliJ IDEA. User: cxspace Date: 16-8-25 Time: 下午2:29 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html&

JQuery学习笔记-选择器-1

在jQuery中 $()方法等价于jQuery()方法,前者比较常用,是后者的简写.一般只有在$()与其它语言冲突时才会使用jQuery()方法. parent > child选择器的范围,它所选择的目标是子集元素,相当于一个家庭中的子辈们,但不包括孙辈,它的调用格式:$("parent > child"),child参数获取的元素都是parent选择器的子元素,它们之间通过">"符号来表示一种层次关系. prev + next选择器就可以查找与&

jQuery学习之选择器

jQuery选择器总结:http://www.cnblogs.com/onlys/articles/jQuery.html

jQuery学习- 子选择器与可见性选择器

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>子选择器与可见性选择器</title> <script src="js/jquery.js"></script> <script type="text/javascript"> $(function(){ //出现在其父元

jQuery学习- 内容选择器

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>内容选择器</title> <script src="js/jquery.js"></script> <script type="text/javascript"> $(function(){ //利用:contains获

jQuery学习&lt;五&gt; — — 选择器(下)

七.子元素过滤选择器 :nth-child : $("ul li:nth-child(2)") 将所有ul中第二个li作为Dom对象放进jQuery包装集并返回 $("ul li:nth-child(odd)") 将所有ul中第奇数个li(从1开始)元素作为Dom对象放进jQuery包装集并返回,注意这里是从1开始.基本过滤器中eq是从0开始 :first-child : $("ul li:first-child") 将所有ul中的第一个li元素

jQuery学习- 层叠选择器

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>层叠选择器</title> <script src="js/jquery.js"></script> <script type="text/javascript"> $(function(){ //基准节点 +空格 +目标

jQuery学习之------选择器

a.id选择器 <div id="test1"></div> var div1=$("#test1");                //同css的写法一样id选择器用#号实现 div1.css('color','red'); b.class选择器: <div class="test2"></div> var div2=$(".test2");                 

Jquery学习笔记 - 选择器

Jquery选择器与CSS选择器非常相似,CSS选择器提供诸多功能,同时两者在解析上均采用从右向左解析,因为在建立Render Tree时,若采用自左向右解析,没词匹配不成功均需要退回再进行匹配,而反向解析利用排除法,逐步缩小元素候选集,优化了从子元素找父元素的过程,对于大量元素很有效(所以采用通配符很低效) CSS的基础选择器: 群组选择器:selector1, selector2, selector3... 简单选择器:ID" #id ",标签" tag ",类

jquery学习:选择器&amp;dom操作

分类; 1.基本选择器 1.标签选择器(元素选择器) *  语法:$("html标签名”) 获得所有匹配标签名称的元素 2.id选择器 *  语法:$("#id的属性值")  获得与指定id属性值匹配的元素 3.类选择器 *  语法:$(".class的属性值")  获得与指定的class属性值匹配的元素 4.并集选择器: *  语法:$("选择器1,选择器2....")  获得多个选择器选中的所有元素 $(function (){ /