jQuery 2 选择器

jQuery 2 选择器

 

选择器

实例

选取

基础选择器

  *

$("*")

所有元素

  #id

$("#lastname")

id="lastname" 的元素

  .class

$(".intro")

所有 class="intro"的元素

  element

$("p")

所有 <p> 元素

  s1,s2,s3

$("th,td,.intro")

所有<th><td>class="intro"的元素

  s1s2s3


  中间没空格

$("p.intro")

$("#id.intro")

$(":input.intro")

$("form :input.intro")

所有<p>class="intro"的元素

所有id="di"class="intro"的元素

所有<input>class="intro"的元素

所有<form>里的所有<input>class="intro"的元素

 层次选择器

  ancestor descentdant

$("div span")

<div>里的所有<span>,后代选择器

  parent > child

$("div > span")

<div>的子元素里的所有<span>,子元素选择器

  pre + next

$("#one + div")

id="one"的元素的下一个紧挨着的兄弟元素<div>

  pre ~ siblings

$("#one ~ div")

id="one"的元素后面的所有兄弟元素<div>

基本过滤选择器

  :first

$("p:first")

第一个 <p> 元素,只找第一个匹配到的

  :last

$("p:last")

最后一个 <p> 元素,只找第一个匹配到的

  :even

$("tr:even")

所有偶数 <tr> 元素index0开始)

  :odd

$("tr:odd")

所有奇数 <tr> 元素index0开始)

  :eq(index)

$("ul li:eq(3)")

列表中的第四个元素(index 0 开始),只找第一个匹配到的

()里必须是数字,不能是变量,如:var a=2; $("ul li:eq(a)")错误

  :gt(no)

$("ul li:gt(3)")

列出 index 大于 3 的元素index0开始)

()里必须是数字,不能是变量  

  :lt(no)

$("ul li:lt(3)")

列出 index 小于 3 的元素index0开始)

()里必须是数字,不能是变量

  :not(selector)

$("input:not(:empty)")

所有不为空的 input 元素

  :header

$(":header")

所有标题元素 <h1> - <h6>

  :animated

 

所有动画元素

内容过滤选择器

  :contains(text)

$("div:contains('')")

包含文本‘我’的所有<div>元素

  :empty

$("div:empty")

无子(元素)节点的所有<div>元素

   :has(selector)

$("div:has(p)")

含有<p>元素的所有<div>元素 

  :parent

$("div:parent")

含有子元素(包括文本元素)的<div>元素

可见性过滤选择器

  :hidden

$("p:hidden")

$(":hidden")

所有隐藏的 <p> 元素

所有不可见元素

  :visible

$("table:visible")

所有可见的<table>元素

属性过滤选择器

  [attribute]

$("div[class]")

所有带有 class 属性的<div>元素

  [attribute=value]

$("[href='#']")

所有 href 属性的值等于 "#" 的元素

  [attribute!=value]

$("a[href!='#']")

所有 href 属性的值不等于 "#"<a>元素

  [attribute$=value]

$("[href$='.jpg']")

所有 href 属性的值以 ".jpg"结尾的元素

  [attribute^=value]

$("div[title^='aaa']")

所有 title 属性的值以 "aaa"开头的<div>元素

  [attribute*=value]

$("div[title^='aaa']")

所有 title 属性的值中有 "aaa"<div>元素

  [selector1][selector2]···

$("div[class][href='#']")

所有带有 class 属性且 href 属性的值等于 "#" <div>元素

子元素过滤选择器

  :nth-child(index)

$("ul li:nth-child(1)")

所有的<ul>下第1个子元素<li>index1开始

()里必须是数字,不能是变量

  :nth-child(even)

$("ul li:nth-child(even)")

所有<ul>下的所有偶数<li>index1开始 

  :nth-child(odd)

$("ul li:nth-child(odd)")

所有<ul>下的所有奇数<li>index1开始

  :nth-child(equation)

$("ul li:nth-child(3n+1)")

所有<ul>下的所有索引是3n+1<li>index1开始,n0开始

  :first-child

$("ul li:first-child")

所有的<ul>下第1个子元素<li>

  :last-child

$("ul li:last-child")

所有的<ul>下最后1个子元素<li>

   :only-child

$("ul li:only-child")

所有的<ul>下唯一一个<li>元素

基本过滤选择器 :first :last :even :odd :eq(index)与上面的子元素过滤选择器区别:

基本过滤选择器只匹配第一个,子元素过滤选择器匹配所有。

对于下面的html代码:

<ul>

  <li>John</li>

  <li>Karl</li>

  <li>Brandon</li>

</ul>

<ul>

  <li>Glen</li>

  <li>Tane</li>

  <li>Ralph</li>

</ul>

$("ul li:first").text();得到的结果为John.

$("ul li:first-child").text();得到的结果为JohnGlen.

表单对象属性选择器

  :enabled

$("input:enabled")

所有可用的 input 元素

  :disabled

$("input':disabled")

所有禁用的 input 元素

  :checked

$("input:checked")

所有被选中的 input 元素

  :selected

$("option:selected")

所有被选取的 option元素

表单选择器

  :input

$(":input")

所有 <input> 元素

  :text

$(":text")

所有 type="text" <input> 元素

  :password

$(":password")

所有 type="password"<input>元素

  :radio

$(":radio")

所有 type="radio"<input>元素

  :checkbox

$(":checkbox")

所有 type="checkbox"<input>元素

  :submit

$(":submit")

所有 type="submit"<input>元素

  :reset

$(":reset")

所有 type="reset"<input>元素

  :button

$(":button")

所有 type="button"<input>元素

  :image

$(":image")

所有 type="image"<input>元素

  :file

$(":file")

所有 type="file" <input> 元素

 

补充1:多参数的jQuery选择器

以上我们所说的选择器都是一个参数(一个””)jQuery允许多个参数。例如:

$(".loli", ".keakon", "div").css("color","red");   //等同于

$("div").find(".keakon").find(".loli").css("color","red");   //也等同于

$("div .keakon .loli").css("color","red");   //后代选择器

 

当然,最后的写法最简洁,也是用得最多的。然而最后的写法不能利用已有的jQuery对象和函数返回值,例如$(this)$("input").parents("div:first"),所以当需要用到这些对象时,第一种写法便可以派上用场了(毕竟比find更简短)。
例如:

HTML代码:

<div id=”#aaa”><span></span></div>

JS代码:

$('#aaa').click(function(){

  //如果想控制里面的span怎么办呢?

  $('>span',this).addClass('bbb');

  //这个就是取得当前元素里的某个符合条件的元素

});

 

补充2 index() 方法

格式1

$(selector).index()  //获得第一个匹配元素相对于其同胞元素的 index 位置。

例如:

$("li:eq(1)").index();  //$("li:eq(1)")相对于其同胞元素的 index 位置

格式2

$(selector).index(element)  //获得元素相对于选择器的 index 位置。

$("li").index($(this));  //$(this)相对于选择器$("li")的位置

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值