jQuery选择器

  • jQuery的选择器
  • 基本选择器
  • 层次选择器
  • 过滤选择器
  • 基本过滤选择器
  • 内容过滤选择器
  • 可见性过滤选择器
  • 属性过滤选择器
  • 表单选择器
  • 子元素选择器
  • 表单对象属性过滤选择器


jQuery的选择器

选择器是 jQuery 的根基, 在 jQuery 中, 对事件处理, 遍历 DOM 和 Ajax 操作都依赖于选择器

jQuery 选择器的优点:

简洁的写法

jquery选择器代码 jquery选择器总结_背景色

完善的事件处理机制

jquery选择器代码 jquery选择器总结_背景色_02

基本选择器

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

id选择器:#id 类选择器:.class

标签名选择器:

* :匹配所有元素

jquery选择器代码 jquery选择器总结_选择器_03


示例:

改变 id 为 one 的元素的背景色为 红色

$("#one").css("backgroundColor","red");

改变元素名为 <p> 的所有元素的背景色为 # bbffaa,字体颜色为红色

$("p").css({color:"red",backgroundColor:"#bbffaa"});

改变第一个<p>元素的背景色为红色

$("p").eq(0).css("backgroundColor","red");

改变所有<h1>元素和 id 为 one 的元素的背景色为 # bbffaa

$("h1,#one").css("backgroundColor","#bbffaa");

层次选择器

如果想通过 DOM 元素之间的层次关系来获取特定元素, 例如后代元素, 子元素, 相邻元素, 兄弟元素等, 则需要使用层次选择器

jquery选择器代码 jquery选择器总结_jquery选择器代码_04


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

示例:

改变 <body> 内所有 <div> 的背景色为 # bbffaa

$(“body div").css("backgroundColor","#bbffaa");

改变 <body> 内子 <div> 的背景色为 # bbffaa

$(“body>div").css("backgroundColor","#bbffaa");

改变 id 为 one 的下一个 <div> 的背景色为 # bbffaa

$("#one+div").css("backgroundColor","#bbffaa");

改变 id 为 two 的元素后面的所有兄弟


的元素的背景色为 # bbffaa


$("#two~div").css("backgroundColor","#bbffaa");

改变 id 为 two 的元素所有 <p> 兄弟元素的背景色为 # bbffaa

$("#two"). siblings("p") .css("backgroundColor","#bbffaa");

过滤选择器

过滤选择器主要是通过特定的过滤规则来筛选出所需的 DOM 元素, 该选择器都以 “:” 开头
按照不同的过滤规则, 过滤选择器又可分为基本过滤, 内容过滤, 可见性过滤, 属性过滤, 子元素过滤和表单对象属性过滤选择器.

基本过滤选择器

Element:first :选取第一个元素

Element:last : 选取最后一个元素

Element:not(selector):去除所有与给定选择器匹配的元素

Element:even :选取所有索引为偶数的元素,索引从0开始

Element:odd :选取所有索引为奇数的元素,索引从0开始

Element:eq(index):选取索引等于index的元素,索引从0开始

Element:gt(index):选取索引大于index的元素,索引从0开始

Element:lt(index) :选取索引小于index的元素,索引从0开始

:header :选取索引的标题标签

jquery选择器代码 jquery选择器总结_背景色_05


示例:

改变第一个 div 元素的背景色为 # bbffaa

$("div:first").css("backgroundColor","#bbffaa");

改变id不为 one 的所有p元素的背景色为 # bbffaa

$("p:not('#one')").css("backgroundColor","#bbffaa");

改变索引值为偶数的 tr元素的背景色为 # bbffaa

$("tr:even").css("backgroundColor","#bbffaa");

改变索引值为大于 3 且为奇数的 p元素的背景色为 # bbffaa

$("p:gt(3):odd").css("backgroundColor","#bbffaa");

改变所有的标题元素的背景色为 # bbffaa

$(":header").css("backgroundColor","#bbffaa");

内容过滤选择器

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

jquery选择器代码 jquery选择器总结_js_06

示例:
改变含有文本 ‘di’ 的 p元素的背景色为 # bbffaa

$("p:contains(di)")

改变含有 class 为 mini 元素的 p元素的背景色为 # bbffaa

$("p:has(.mini)")

可见性过滤选择器

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

jquery选择器代码 jquery选择器总结_jquery_07


可见选择器 :hidden 不仅包含样式属性 display 为 none 的元素, 也包含文本隐藏域 ()和 visible:hidden 之类的元素

属性过滤选择器

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

Element[attribute]:选取拥有此属性的选择器

Element[attribute=value]:选取指定属性值为value的元素

Element[attribute!=value]:选取指定属性值不等于value的元素

Element[attribute^=value]:选取指定属性值以value开始的元素

Element[attribute$=value]:选取指定属性值以value结束的元素

Element[attribute*=value]:选取指定属性值中含有value的元素

jquery选择器代码 jquery选择器总结_js_08

表单选择器

:input 选择由input生成的表单控件

:text 选择单行文本框

:password 选择密码框

:radio 单选按钮

:checkbox 复选按钮

jquery选择器代码 jquery选择器总结_jquery_09

子元素选择器

:nth-child(index/even/odd) -->选取每个父元素下的索引值为偶(奇)数的子元素

  • (1) :nth-child(even/odd): 能选取每个父元素下的索引值为偶(奇)数的元素
  • (2):nth-child(2): 能选取每个父元素下的索引值为 2 的元素
  • (3):nth-child(3n): 能选取每个父元素下的索引值是 3 的倍数 的元素
  • (4):nth-child(3n + 1): 能选取每个父元素下的索引值是 3n + 1的元素

:first-child --> 选择每个父元素下的第一个子元素

:last-child --> 选择每个父元素下的最后一个子元素

jquery选择器代码 jquery选择器总结_js_10

表单对象属性过滤选择器

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

jquery选择器代码 jquery选择器总结_jquery选择器代码_11