jQuery选择器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery选择器相关的知识,希望对你有一定的参考价值。

#id 根据给定的ID匹配一个元素。

$("#myDiv");

element 根据给定的元素标签名匹配所有元素

$("div");

.class  根据给定的css类名匹配元素。

$(".myClass");

匹配所有元素

例如:匹配ul下面的所有子元素

$("ul *")

parent child 匹配parent下面的所有子代

parent>child 匹配parent下面的所有儿子

prev+next 匹配prev后面的相邻元素

prev~next 匹配prev后面的所有兄弟元素

:first 获取匹配的第一个元素

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

$(‘li:first‘);

:not(selector)  查找所有未选中的元素

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


$("input:not(:checked)")

:even 匹配所有索引值为偶数的元素,从 0 开始计数

<table>
  <tr><td>Header 1</td></tr>
  <tr><td>Value 1</td></tr>
  <tr><td>Value 2</td></tr>
</table>

$("tr:even")

:odd 匹配所有索引值为奇数的元素

$("tr:odd")

:eq(index) 匹配一个给定索引值的元素,从0来时计算

$("tr:eq(1)")

:gt(index) 匹配所有大于给定索引值的元素

$("tr:gt(0)")

:lang(language) 选择指定语言的所有元素。

$("p:lang(it)")

:last() 获取最后一个值

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


$(‘li:last‘)

:lt(index) 匹配所有小于索引值的元素

$("tr:lt(2)")

:header 匹配如h1,h2,h3...之类的标题

<h1>Header 1</h1>
<p>Contents 1</p>
<h2>Header 2</h2>
<p>Contents 2</p>

$(":header").css("background", "#EEE");

:animated 匹配所有正在执行动画效果的元素

$("#run").click(function(){
  $("div:not(:animated)").animate({ left: "+=20" }, 1000);
});

:focus 匹配当前取得焦点的元素

<div id="content">
    <input tabIndex="1">
    <input tabIndex="2">
    <select tabIndex="3">
        <option>select menu</option>
    </select>
    <div tabIndex="4">
        a div
    </div>
</div>
$( "#content" ).delegate( "*", "focus blur", function( event ) {
    var elem = $( this );
    setTimeout(function() {
       elem.toggleClass( "focused", elem.is( ":focus" ) );
    }, 0);
});

:root 选择该文档的根元素

$(":root").css("background-color","yellow");

.contains(text) 匹配包含给定文本的元素

<div>John Resig</div>
<div>George Martin</div>
<div>Malcom John Sinclair</div>
<div>J. Ohn


$("div:contains(‘John‘)")

:empty 查找所有不包含子元素或者文本的空元素

<table>
  <tr><td>Value 1</td><td></td></tr>
  <tr><td>Value 2</td><td></td></tr>
</table>


$("td:empty")

:has(selector) 匹配含有选择器所匹配的元素的元素

<div><p>Hello</p></div>
<div>Hello again!</div>


$("div:has(p)").addClass("test");

:parent  匹配含有子元素或者文本的元素

$("td:parent")

:hidden 匹配所有不可见元素,或者type为hidden的元素

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


$("tr:hidden")

:visible 匹配所有的可见元素

$("tr:visible")

[attribute]匹配指定的属性的元素

[attribute=value] 匹配给定属性的值的元素

[attribute!=value]匹配该属性不等于该值的元素

[attribute^=value]匹配给定的属性是以某些值开始的元素

[attribute$=value]匹配给定的属性是以某些值结束的元素

[attribute*=value]匹配给定的属性是以包含某些值的元素

[selector1][selector2][selector3] 复合选择器

<input id="man-news" name="man-news" />
<input name="milkman" />
<input id="letterman" name="new-letterman" />
<input name="newmilk" />



$("input[id][name$=‘man‘]")

:first-child匹配第一个子元素  类似的 :first 匹配第一个元素,而此选择符将为每个父元素匹配一个子元素

<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-child")

:first-of-type  结构化伪类,匹配E的父元素的第一个E类型的孩子。等价于 :nth-of-type(1) 选择器。

<div id="n1">
    <div id="n2" class="abc">
        <label id="n3">label1</label>
        <span id="n4">span1</span>
        <span id="n5" class="abc">span2</span>
        <span id="n6">span3</span>
    </div>
    <div id="n7">
        <span id="n8" class="abc">span1</span>
        <span id="n9">span2</span>
    </div>
</div>

$("span:first-of-type");

:last-child 匹配最后一个子元素

<ul>
  <li>John</li>
  <li>Karl</li>
  <li>Brandon</li>
</ul>
<ul>
  <li>Glen</li>
  <li>Tane</li>
  <li>Ralph</li>
</ul>


$("ul li:last-child")

:last-of-type  结构化伪类,匹配E的父元素的最后一个E类型的孩子

:nth-child(n)  匹配其父元素下的第N个子或奇偶元素,从1开始

:nth-last-child(n) 选择所有他们父元素的第n个子元素。计数从最后一个元素开始到第一个。

:nth-last-of-type 选择的所有他们的父级元素的第n个子元素,计数从最后一个元素到第一个。

:nth-of-type 选择同属于一个父元素之下,并且标签名相同的子元素中的第n个。

:only-child 如果某个元素是父元素中唯一的子元素,那将会被匹配

:only-of-type 选择所有没有兄弟元素,且具有相同的元素名称的元素。

:input 匹配所有 input, textarea, select 和 button 元素

<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><option>Option</option></select>

    <textarea></textarea>
    <button>Button</button>

</form>


$(":input")

:text 匹配所有的单行文本框

$(":text")

:password 匹配所有密码框

$(":password")

:radio 匹配所有单选按钮

$(":radio")

:checkbox 查找所有复选框

$(":checkbox")

:submit 查找所有提交按钮

$(":submit")

:image 匹配所有图像域

$(":image")

:reset 查找所有重置按钮

$(":reset")

:button 查找所有按钮.

$(":button")

:file 查找所有文件域

$(":file")

 

以上是关于jQuery选择器的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——CSS选择器

jQ选择器学习片段(JavaScript 部分对应)

VSCode自定义代码片段6——CSS选择器

JQuery02

Android - 片段中的联系人选择器

jQuery 核心函数