jQuery选择器

jQuery选择器

1. 基本选择器

通配选择器:$('')

HTML 代码:
    <divDIV</div  >    
    <spanSPAN</span>   
     <pP</p>  

jQuery 代码:      $("");

结果:  [ <divDIV</div, <spanSPAN</span, <pP</p>   ]

标签选择器:$(element)

HTML 代码:
     <divDIV1</div>  
     <divDIV2</div>  
     <spanSPAN</span>  

jQuery 代码:  $("div");

结果:  [ <divDIV1</div, <divDIV2</div>   ]         

id选择器:$('#id')

HTML 代码:

    <div id="notMe"<pid="notMe"</p</div>  
    <div id="myDiv"id="myDiv"</div>  

 jQuery 代码:$("#myDiv");

结果: [ <div id="myDiv"id="myDiv"</div ]

class类选择器:$('.class')

 HTML 代码:

    <div class="notMe"div class="notMe"</div>  
    <div class="myClass"div class="myClass"</div>  
    <span class="myClass"span class="myClass"</span>  

jQuery 代码:     $(".myClass");

结果:   [ <div class="myClass"div class="myClass"</div, <span class="myClass"span class="myClass"</span >  ]

分组选择器:$(selector1,selector2...)

HTML 代码:
    <divdiv</div>
    <p class="myClass"p class="myClass"</p>
    <spanspan</span
    <p class="notMyClass"p class="notMyClass"</p>

    
 jQuery 代码:  $("div,span,p.myClass");
     
结果:    [ <divdiv</div, <p class="myClass"p class="myClass"</p>  , <spanspan</span> ]

2. 层级选择器

后代选择器:$('div p')

 HTML 代码:
  
<form
<labelName:</label>  
<input name="name" />  
<fieldset
  <labelNewsletter:</label>  
  <input name="newsletter" />  
</fieldset
</form
<input name="none" />  


 jQuery 代码:  
    $("form input")
  结果:
[ <input name="name" /, <input name="newsletter" />   ]

子代选择器:$('divp')

 HTML 代码:

<form
  <labelName:</label>  
  <input name="name" />  
  <fieldset
      <labelNewsletter:</label>  
      <input name="newsletter" />  
 </fieldset>  
</form>  
<input name="none" />  

 jQuery 代码:  
    $("form  input")
  结果:
[ <input name="name" / >  ]

毗邻选择器:$('div+p')

 HTML 代码:

<form
  <labelName:</label>  
  <input name="name" />  
  <fieldset>  
      <labelNewsletter:</label>  
      <input name="newsletter" />  
 </fieldset>  
</form>  
<input name="none" />  

 jQuery 代码:  
    $("label + input");
  结果:
[ <input name="name" /, <input name="newsletter" />   ]

后置兄弟选择器:$('div~p')

 HTML 代码:
<form>  
  <labelName:</label>  
  <input name="name" />  
  <fieldset>  
      <labelNewsletter:</label>  
      <input name="newsletter" />  
 </fieldset>  
</form>  
<input name="none" />  
 jQuery 代码:  
    $("form ~ input");
  结果:
[ <input name="none" />   ]

3. 基本筛选器

第一个:$('p:first')

 HTML 代码:

<ul>  
    <lilist item 1</li>  
    <lilist item 2</li>  
    <lilist item 3</li>  
    <lilist item 4</li>  
    <lilist item 5</li>  
</ul>  

 jQuery 代码:  
    $('li:first');
  结果:
[ <lilist item 1</li>   ]

最后一个:$('p:last')

 HTML 代码:

<ul>  
    <lilist item 1</li>  
    <lilist item 2</li>  
    <lilist item 3</li>  
    <lilist item 4</li>  
    <lilist item 5</li>  
</ul>  

 jQuery 代码:  
    $('li:last');
  结果:
[ <lilist item 5</li>   ]

索引偶数:$('li:even')

 HTML 代码:

<table>  
  <tr<tdHeader 1</td</tr>  
  <tr<tdValue 1</td</tr>  
  <tr<tdValue 2</td</tr>  
</table

 jQuery 代码:  
    $("tr:even");
  结果:

[ <tr<tdHeader 1</td</tr, <tr<tdValue 2</td</tr >  ]

索引奇数$('li:odd')

 HTML 代码:

<table
  <tr<tdHeader 1</td</tr
  <tr<tdValue 1</td</tr
  <tr<tdValue 2</td</tr
</table

 jQuery 代码:  
    $("tr:odd");
  结果:
[ <tr<tdValue 1</td</tr>   ]

索引大于:$('li:lt(index)')

 HTML 代码:

<table>  
  <tr<tdHeader 1</td</tr>  
  <tr<tdValue 1</td</tr>  
  <tr<tdValue 2</td</tr>  
</table>  

 jQuery 代码:  
    $("tr:gt(0)");
  结果:
[ <tr<tdValue 1</td</tr, <tr<tdValue 2</td</tr>   ]

指定索引::$('li:ep(index)')

 HTML 代码:

<table>  
  <tr<tdHeader 1</td</tr>  
  <tr<tdValue 1</td</tr>  
  <tr<tdValue 2</td</tr>  
</table>  

 jQuery 代码:  
    $("tr:eq(1)");
  结果:
[ <tr<tdValue 1</td</tr >  ]

索引小于:$('li:gt(index)')

 HTML 代码:

    <table
      <tr<tdHeader 1</td</tr
      <tr<tdValue 1</td</tr
      <tr<tdValue 2</td</tr
    </table
    
 jQuery 代码:  
    $("tr:lt(2)");
  结果:
[ <tr<tdHeader 1</td</tr, <tr<tdValue 1</td</tr>   ]

移除:$('div:not(span)')

 HTML 代码:

<input name="apple" />  
<input name="flower" checked="checked" />  

 jQuery 代码:  
    $("input:not(:checked)");
  结果:
[ <input name="apple" / >  ]

后代具有某个选择器的父元素:$('div:has(p)')

 HTML 代码:

    <div<pHello</p</div>  
    <divHello again!</div>  

 jQuery 代码:  
    $("div:has(p)").addClass("test");
  结果:
[ <div class="test"<pHello</p</div>   ]

4. 属性选择器

属性选择器:$('[属性]')

 HTML 代码:

<div>  
  <pHello!</p>  
</div>  
<div id="test2"</div>  

 jQuery 代码:  
    $("div[id]");
  结果:
[ <div id="test2"</div>   ]

属性值选择器:$('[属性=属性值]')

 HTML 代码:

<input type="checkbox" name="newsletter" value="Hot Fuzz" />  
<input type="checkbox" name="newsletter" value="Cold   Fusion" />  
<input type="checkbox" name="accept" value="Evil Plans" />  

 jQuery 代码:  
    $("input[name='newsletter']").attr("checked", true);
  结果:
[ <input type="checkbox" name="newsletter" value="Hot Fuzz" checked="true" />  , <input type="checkbox" name="newsletter" value="Cold Fusion" checked="true" / >  ]

5. 表单筛选器

表单标签:$(':input')

 HTML 代码:

<form
    <input type="button" value="Input Button"/>  
    <input type="checkbox" />  

    <input type="file" />  
    <input type="hidden" />  
    <input type="image" />  

    <input type="password" />  
    <input type="radio" />  
    <input type="reset" />  

    <input type="submit" />  
    <input type="text" />  
    <select<optionOption</option</select>  

    <textarea</textarea
    <buttonButton</button>  

</form>  

 jQuery 代码:  
    $(":input");
  结果:    

[ <input type="button" value="Input Button"/, <input type="checkbox" /> ,
<input type="file" /> ,<input type="hidden" /,<input type="image" /> ,
<input type="password" /> , <input type="radio" /,<input type="reset" /> , <input type="submit" /> ,<input type="text" /> , <selectoptionOption</option> </select> , <textarea> </textarea> , <buttonButton</button> , ]

文本:$(':text')

 HTML 代码:

<form
  <input type="text" />  
  <input type="checkbox" />  
  <input type="radio" />  
  <input type="image" />  
  <input type="file" />  
  <input type="submit" />  
  <input type="reset" />  
  <input type="password" />  
  <input type="button" />  
  <select<option/</select>  
  <textarea</textarea>  
  <button</button>  
</form>  

 jQuery 代码:  
    $(":text");
  结果:
    [ <input type="text" />   ]

密码:$(':password')

 HTML 代码:

<form>  
  <input type="text" />  
  <input type="checkbox" />  
  <input type="radio" />  
  <input type="image" />  
  <input type="file" />  
  <input type="submit" />  
  <input type="reset" />  
  <input type="password" />  
  <input type="button" />  
  <select<option/</select>  
  <textarea</textarea>  
  <button</button>  
</form>  

 jQuery 代码:  
$(":password");
  结果:
[ <input type="password" />   ]

单选:$(':radio')

 HTML 代码:


    <form>  
      <input type="text" />  
      <input type="checkbox" />  
      <input type="radio" />  
      <input type="image" />  
      <input type="file" />  
      <input type="submit" />  
      <input type="reset" />  
      <input type="password" />  
      <input type="button" />  
      <select<option/</select>  
      <textarea</textarea>  
      <button</button>  
    </form>  

 jQuery 代码:  
$(":radio");
  结果:
    [ <input type="radio" / >  ]

多选:$(':checkbox')

 HTML 代码:

<form>  
  <input type="text" />  
  <input type="checkbox" />  
  <input type="radio" />  
  <input type="image" />  
  <input type="file" />  
  <input type="submit" />  
  <input type="reset" />  
  <input type="password" /
  <input type="button" />  
  <select<option/</select>  
  <textarea</textarea>  
  <button</button>  
</form

 jQuery 代码:  
$(":checkbox");
  结果:
[ <input type="checkbox" / >  ]

文件:$(':file')

 HTML 代码:

<form>  
  <input type="text" />  
  <input type="checkbox" /
  <input type="radio" />  
  <input type="image" />  
  <input type="file" />  
  <input type="submit" />  
  <input type="reset" />  
  <input type="password" />  
  <input type="button" />  
  <select<option/</select>  
  <textarea</textarea>  
  <button</button>  
</form>  

 jQuery 代码:  
    $(":file");> 
  结果:
[ <input type="file" / ]

隐藏:$(':hidden')

 HTML 代码:查找隐藏的 tr


   <table
  <tr style="display:none"<tdValue 1</td</tr>  
  <tr<tdValue 2</td</tr>  
</table>  

 jQuery 代码:  
    $("tr:hidden");
  结果:
[ <tr style="display:none"<tdValue 1</td</tr>   ]
  HTML 代码:匹配type为hidden的元素

<form
  <input type="text" name="email" />  
  <input type="hidden" name="id" />  
</form>  

 jQuery 代码:  
 $("input:hidden");
  结果:
    [ <input type="hidden" name="id" />   ]

提交:$(':submit')

 HTML 代码:

        <form>  
      <input type="text" />  
      <input type="checkbox" />  
      <input type="radio" />  
      <input type="image" />  
      <input type="file" />  
      <input type="submit" />  
      <input type="reset" />  
      <input type="password" />  
      <input type="button" />  
      <select<option/</select>  
      <textarea</textarea>  
      <button</button>  
    </form>  

 jQuery 代码:  
    $(":submit");
  结果:
    [ <input type="submit" />   ]

重置:$(':reset')

 HTML 代码:

    <form
      <input type="text" />  
      <input type="checkbox" />  
      <input type="radio" />  
      <input type="image" />  
      <input type="file" />  
      <input type="submit" />  
      <input type="reset" />  
      <input type="password" />  
      <input type="button" />  
      <select<option/</select>  
      <textarea</textarea>  
      <button</button>  
</form

 jQuery 代码:  
    $(":reset");
  结果:
[ <input type="reset" / ]

按钮:$(':button')

 HTML 代码:

   <form
      <input type="text" />  
      <input type="checkbox" />  
      <input type="radio" />  
      <input type="image" />  
      <input type="file" />  
      <input type="submit" />  
      <input type="reset" />  
      <input type="password" />  
      <input type="button" />  
      <select<option/</select>  
      <textarea</textarea>  
      <button</button>  
</form>  

 jQuery 代码:  
    $(":button");
  结果:
[ <input type="button" /,<button</button>   ]

6. 表单对象属性选择器

可用:$(':enabled')

 HTML 代码:

<form>  
  <input name="email" disabled="disabled" />  
  <input name="id" />  
</form>  

 jQuery 代码:  
    $("input:enabled");
  结果:
    [ <input name="id" / ]

禁用:$(':disabled')

 HTML 代码:

<form>  
  <input name="email" disabled="disabled" />  
  <input name="id" />  
</form

 jQuery 代码:  
    $("input:disabled");
  结果:
    [ <input name="email" disabled="disabled" / >  ]

选定:$(':checked')

 HTML 代码:

<form>  
  <input type="checkbox" name="newsletter" checked="checked" value="Daily" />  
  <input type="checkbox" name="newsletter" value="Weekly" />  
  <input type="checkbox" name="newsletter" checked="checked" value="Monthly" />  
</form

 jQuery 代码:  
    $("input:checked");
  结果:
[ <input type="checkbox" name="newsletter" checked="checked" value="Daily" /, <input type="checkbox" name="newsletter" checked="checked" value="Monthly" / >  ]

下拉选定:$(':selected')

 HTML 代码:


<select
  <option value="1"Flowers</option>  
  <option value="2" selected="selected"Gardens</option>  
  <option value="3"Trees</option>  
</select>  

 jQuery 代码:  
    $("select option:selected");
  结果:
[ <option value="2" selected="selected"Gardens</option>   ]

7. 筛选器方法

祖先

父级:$(selector).parent(selector)
 HTML 代码:查找每个段落的父元素   
    <div<pHello</p<pHello</p</div>  

 jQuery 代码:  $("p").parent()

结果: [ <div<pHello</p<pHello</p</div>  ]
HTML 代码:查找段落的父元素中每个类名为selected的父元素
    <div<pHello</p</div<div class="selected"<p>HelloAgain</p</div>  
 jQuery 代码:  
            $("p").parent(".selected")
结果:
       [ <div class="selected"<pHello Again</p</div >  ]
祖宗:$(selector).parents(selector)
arents() 方法返回被选元素的所有祖先元素,它一路向上直到文档的根元素 (<html>  )。
      
返回所有 <span 元素的所有祖先:
    $(document).ready(function(){  $("span").parents(); });
返回所有 <span>   元素的所有祖先,并且它是 <ul >  元素:
   $(document).ready(function(){  $("span").parents("ul");});
祖宗范围:$(selector).parentsUntil(selector)
parentsUntil() 方法返回介于两个给定元素之间的所有祖先元素
      
返回介于 <span >  与 <div >  元素之间的所有祖先元素:
   $(document).ready(function(){  $("span").parentsUntil("div");});

后代

子代:$(selector).children(selector)
  children() 方法返回被选元素的所有直接子元素
      
返回每个 <div 元素的所有直接子元素:
  $(document).ready(function(){  $("div").children();});
返回类名为 "1" 的所有 <p >  元素,并且它们是 <div >  的直接子元素:
  $(document).ready(function(){  $("div").children("p.1");});
后代:$(selector).find(selector)
 cfind() 方法返回被选元素的后代元素,一路向下直到最后一个后代

返回属于 <div >  后代的所有 <span>   元素:
  $(document).ready(function(){  $("div").find("span");});

同胞

同胞:$(selector).siblings(selector)
 siblings() 方法返回被选元素的所有同胞元素
  
 jQuery 代码:  

返回 <h2 的所有同胞元素:
$(document).ready(function(){ $("h2").siblings(); });

返回属于 <h2 的同胞元素的所有 <p 元素:    
$(document).ready(function(){ $("h2").siblings("p"); });
前边
前一个:$(selector).prev(selector)
前所有:$(selector).prevAll(selector)
前范围:$(selector).prevUntil(selector)
后边
后一个:$(selector).next(selector)
next() 方法返回被选元素的下一个同胞元素。
      
返回 <h2 的下一个同胞元素:
        $(document).ready(function(){      $("h2").next();    });
后所有:$(selector).nextAll(selector)
  nextAll() 方法返回被选元素的所有跟随的同胞元素
      
 返回 <h2 的所有跟随的同胞元素:
       $(document).ready(function(){  $("h2").nextAll();});
后范围:$(selector).nextUntil(selector)
  nextUntil() 方法返回介于两个给定参数之间的所有跟随的同胞元素      

 返回介于 <h2 >  与 <h6 >  元素之间的所有同胞元素:
   $(document).ready(function(){  $("h2").nextUntil("h6");});

过滤

第一个:$(selector).first(selector)
 first() 方法返回被选元素的首个元素
      
选取首个 <div 元素内部的第一个 <p 元素:
   $(document).ready(function(){  $("div p").first();});
最后一个:$(selector).last(selector)
last() 方法返回被选元素的最后一个元素      

选择最后一个 <div >  元素中的最后一个 <p >  元素:
      $(document).ready(function(){  $("div p").last();});
指定索引:$(selector).eq(index)
 eq() 方法返回被选元素中带有指定索引号的元素
      
 选取第二个 <p 元素(索引号 1):
  (document).ready(function(){  $("p").eq(1);});
移除:$(selector).not(selector)
not() 方法返回不匹配标准的所有元素
      
返回不带有类名 "url" 的所有 <p >  元素:
  $(document).ready(function(){  $("p").not(".url");});
特定有某个值后代元素:$(selector).has(selector)
筛选:$(selector).filter(selector)
filter() 方法允许您规定一个标准。不匹配这个标准的元素会被从集合中删除,匹配的元素会被返回
     
返回带有类名 "url" 的所有 <p >  元素:
  $(document).ready(function(){  $("p").filter(".url");});
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,864评论 6 494
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,175评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,401评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,170评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,276评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,364评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,401评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,179评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,604评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,902评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,070评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,751评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,380评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,077评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,312评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,924评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,957评论 2 351

推荐阅读更多精彩内容