ホームページ > 記事 > ウェブフロントエンド > jQuery セレクターの最も完全な概要
1. #id : 指定された ID に基づいて要素を照合します
<p id="myId">这是第一个p标签</p> <p id="not">这是第二个p标签</p> <script type="text/javascript"> $(function(){ $("#myId").css("color","red"); }); </script>
結果:
初めてのPタグです
2つ目のPタグです
2. element: 指定された要素タグ名に基づいてすべての要素と一致します
<p>这是p标签1</p> <p>这是p标签2</p> <p>这是p标签</p> <script type="text/javascript"> $(function(){ $("p").css("color","red"); }); </script>
結果:
これはPタグ1です
こちらはPタグ2です
これがPタグです
3. .class: 指定された CSS クラス名に基づいて要素を照合します
<p class="myClass">这是第一个p标签</p> <p class="not">这是第二个p标签</p> <script type="text/javascript"> $(function(){ $(".myClass").css("color","red"); }); </script>
結果:
初めてのPタグです
2つ目のPタグです
4. *: すべての要素に一致し、主にコンテキストに基づいた検索に使用されます
<p>这是p标签</p> <p>这是p标签</p> <script type="text/javascript"> $(function(){ $("*").css("color","red"); }); </script>
結果:
これがPタグです
これがPタグです
5. 複数のセレクター selector1、selector2、selectorN: 任意の数のセレクターを指定し、一致した要素を 1 つの結果にマージします
<p class="myP">这是第一个p标签</p> <p class="not">这是第二个p标签</p> <p id="myp">这是第一个p标签</p> <p id="not">这是第二个p标签</p> <script type="text/javascript"> $(function(){ $("p.myP,p#myp").css("color","red"); }); </script>
結果:
初めてのPタグです
2つ目のPタグです
初めてのPタグです
2つ目のPタグです
6. 先祖子孫: 指定された先祖要素の下にあるすべての子孫要素と一致します
<p> <span>这是第一个span标签</span> <p> <span>这是第二个span标签</span> </p> </p> <script type="text/javascript"> $(function(){ $("p span").css("color","red"); }); </script>
結果:
初めてのspanタグです
2つ目のspanタグです
7. 親 > 子: 指定された親要素の下にあるすべての子要素と一致します
<p> <span>这是第一个span标签</span> <p> <span>这是第二个span标签</span> </p> </p> <script type="text/javascript"> $(function(){ $("p > span").css("color","red"); }); </script>
結果:
初めてのspanタグです
2つ目のspanタグです
8. prev + next: prev 要素の直後にあるすべての next 要素と一致します
<p></p> <p>这是第一个p标签</p> <p>这是第二个p标签</p> <script type="text/javascript"> $(function(){ $("p + p").css("color","red"); }); </script>
結果:
初めてのPタグです
2つ目のPタグです
9. prev ~ 兄弟: prev 要素の後のすべての兄弟に一致します
<p>这是第一个p标签</p> <p> <p>这是第二个p标签</p> </p> <p>这是第三个p标签</p> <script type="text/javascript"> $(function(){ $("p ~ p").css("color","red"); }); </script>
結果:
初めてのPタグです
2つ目のPタグです
3つ目のPタグです
10. :first : 获取第一个元素
<p> <p>这是第一个p标签</p> <p>这是第二个p标签</p> <p>这是第三个p标签</p> </p> <script type="text/javascript"> $(function(){ $("p:first").css("color","red"); }); </script>
结果:
这是第一个p标签
这是第二个p标签
这是第三个p标签
11. :not(selector) : 去除所有与给定选择器匹配的元素
<p class="del">这是第一个p标签</p> <p class="del">这是第二个p标签</p> <p>这是第三个p标签</p> <script type="text/javascript"> $(function(){ $("p:not(.del)").css("color","red"); }); </script>
结果:
这是第一个p标签
这是第二个p标签
这是第三个p标签
12.:even : 匹配所有索引值为偶数的元素,从 0 开始计数
<p>这是索引值为0的p标签</p> <p>这是索引值为1的p标签</p> <p>这是索引值为2的p标签</p> <p>这是索引值为3的p标签</p> <script type="text/javascript"> $(function(){ $("p:even").css("color","red"); }); </script>
结果:
这是索引值为0的p标签
这是索引值为1的p标签
这是索引值为2的p标签
这是索引值为3的p标签
13. :odd : 匹配所有索引值为奇数的元素,从 0 开始计数
<p>这是索引值为0的p标签</p> <p>这是索引值为1的p标签</p> <p>这是索引值为2的p标签</p> <p>这是索引值为3的p标签</p> <script type="text/javascript"> $(function(){ $("p:odd").css("color","red"); }); </script>
结果:
这是索引值为0的p标签
这是索引值为1的p标签
这是索引值为2的p标签
这是索引值为3的p标签
14. :eq(index) : 匹配一个给定索引值的元素
<p>这是索引值为0的p标签</p> <p>这是索引值为1的p标签</p> <p>这是索引值为2的p标签</p> <script type="text/javascript"> $(function(){ $("p:eq(1)").css("color","red"); }); </script>
结果:
这是索引值为0的p标签
这是索引值为1的p标签
这是索引值为2的p标签
15. :gt(index) : 匹配所有大于给定索引值的元素
<p>这是索引值为0的p标签</p> <p>这是索引值为1的p标签</p> <p>这是索引值为2的p标签</p> <script type="text/javascript"> $(function(){ $("p:gt(1)").css("color","red"); }); </script>
结果:
这是索引值为0的p标签
这是索引值为1的p标签
这是索引值为2的p标签
16. :lang(language) : 选择指定语言的所有元素
<p lang="not">这是lang="not"的p标签</p> <p lang="en">这是lang="en"的p标签</p> <p lang="en-us">这是lang="en-us"的p标签</p> <script type="text/javascript"> $(function(){ $("p:lang(en)").css("color","red"); }); </script>
结果:
这是lang="not"的p标签
这是lang="en"的p标签
这是lang="en-us"的p标签
17. :last() : 获取最后个元素
<p> <p>这是第一个p标签</p> <p>这是第二个p标签</p> <p>这是第三个p标签</p> </p> <script type="text/javascript"> $(function(){ $("p:last").css("color","red"); }); </script>
结果:
这是第一个p标签
这是第二个p标签
这是第三个p标签
18. :lt(index) : 匹配所有小于给定索引值的元素
<p>这是索引值为0的p标签</p> <p>这是索引值为1的p标签</p> <p>这是索引值为2的p标签</p> <script type="text/javascript"> $(function(){ $("p:lt(1)").css("color","red"); }); </script>
结果:
这是索引值为0的p标签
这是索引值为1的p标签
这是索引值为2的p标签
19. :header : 匹配如 h1, h2, h3之类的标题元素
<p>这是p标签</p> <h3>这是h3标签</h3> <h4>这是h4标签</h4> <script type="text/javascript"> $(function(){ $(":header").css("color","red"); }); </script>
结果:
这是p标签
这是h3标签
这是h4标签
20. :animated : 匹配所有正在执行动画效果的元素
<!--对不在执行动画的元素执行一个动画--> <button id="run">Run</button> <p style="width:100px;height:100px;border:1px solid #f00;position:absolute;"></p> <script type="text/javascript"> $(function(){ $("#run").click(function(){ $("p:not(:animated)").animate({left:100+"px"},1000); }); });
由于此处无法插入js代码,请自行复制代码查看效果
21. :focus : 匹配当前获取焦点的元素
<input type="text" /> <script type="text/javascript"> $(function(){ $("input").focus(); //让input自动获取焦点 $("input:focus").css("background","red"); });
结果:
22. :root : 选择该文档的根元素,在HTML中,文档的根元素,和$(":root")选择的元素一样,永远是100db36a723c770d327fc0aef2ce13b1元素
<script type="text/javascript"> $(":root").css("background-color","yellow"); </script>
23. :target : 选择由文档URI的格式化识别码表示的目标元素
例如,给定的URI http:// example.com/#foo, $( "p:target" ),将选择54dc3eb51a675dab569ef3c24a8930bc元素。
24. :contains(text) : 匹配包含给定文本的元素
<p>boys</p> <p>girls</p> <p>boys and girls</p> <script type="text/javascript"> $(function(){ $("p:contains('boys')").css("color","red"); }); </script>
结果:
boys
girls
boys and girls
25. :empty : 匹配所有不包含子元素或者文本的空元素
<p>这是有内容的p标签</p> <p></p> <p>这是有内容的p标签</p> <p></p> <script type="text/javascript"> $(function(){ $("p:empty").css({"width":30,"height":30,"background":"red"}); }); </script>
结果:
这是有内容的p标签
这是有内容的p标签
26. :has(selector) : 匹配含有选择器所匹配的元素的元素
<p>这是包含p元素的p标签 <p>这是p标签中的p标签</p> </p> <p>这是没有p元素的p标签</p> <script type="text/javascript"> $(function(){ $("p:has(p)").css("color","red"); }); </script>
结果:
这是包含p元素的p标签
这是p标签中的p标签
这是没有p元素的p标签
27. :parent : 匹配含有子元素或者文本的元素
<p> <p>这是p标签中的p标签</p> </p> <p>这是有内容的p标签</p> <p></p> <script type="text/javascript"> $(function(){ $("p:parent").css("color","red"); }); </script>
结果:
这是p标签中的p标签
这是有内容的p标签
28. :hidden : 匹配所有不可见元素,或者type为hidden的元素
<p style="display: none;">这是隐藏的p标签</p> <p>这是显示的p标签</p> <script type="text/javascript"> $(function(){ $("p:hidden").css("color","red"); console.log($("p:hidden")); //结果:获取到隐藏的p }); </script>
结果:
29. :visible : 匹配所有的可见元素
<p style="display: none;">这是隐藏的p标签</p> <p>这是显示的p标签</p> <script type="text/javascript"> $(function(){ $("p:visible").css("color","red"); console.log($("p:visible")); //结果:获取到显示的p }); </script>
结果:
30. [attribute] : 匹配包含给定属性的元素
<p class="myp">这是有类名的p标签</p> <p>这是没类名的p标签</p> <script type="text/javascript"> $(function(){ $("p[class]").css("color","red"); }); </script>
结果:
这是有类名的p标签
这是没类名的p标签
31. [attribute=value] : 匹配给定的属性是某个特定值的元素
<p class="myp">这是第一个p标签</p> <p class="not">这是第二个p标签</p> <script type="text/javascript"> $(function(){ $("p[class='myp']").css("color","red"); }); </script>
结果:
这是第一个p标签
这是第二个p标签
32. [attribute!=value] : 匹配所有不含有指定的属性,或者属性不等于特定值的元素
<p class="myp">这是第一个p标签</p> <p class="not">这是第二个p标签</p> <script type="text/javascript"> $(function(){ $("p[class!='myp']").css("color","red"); }); </script>
结果:
这是第一个p标签
这是第二个p标签
33. [attribute^=value] : 匹配给定的属性是以某些值开始的元素
<p class="myp">这是第一个p标签</p> <p class="not">这是第二个p标签</p> <p class="myBaby">这是第三个p标签</p> <script type="text/javascript"> $(function(){ $("p[class^='my']").css("color","red"); }); </script>
结果:
这是第一个p标签
这是第二个p标签
这是第三个p标签
34. [attribute$=value] : 匹配给定的属性是以某些值结尾的元素
<p class="myp">这是第一个p标签</p> <p class="not">这是第二个p标签</p> <p class="yourp">这是第三个p标签</p> <script type="text/javascript"> $(function(){ $("p[class$='p']").css("color","red"); }); </script>
结果:
这是第一个p标签
这是第二个p标签
这是第三个p标签
35. [attribute*=value] : 匹配给定的属性是以包含某些值的元素
<p class="mypOne">这是第一个p标签</p> <p class="not">这是第二个p标签</p> <p class="mypTwo">这是第三个p标签</p> <script type="text/javascript"> $(function(){ $("p[class*='p']").css("color","red"); }); </script>
结果:
这是第一个p标签
这是第二个p标签
这是第三个p标签
36. [attrSel1][attrSel2][attrSelN] : 复合属性选择器,需要同时满足多个条件时使用
<p id="myp" class="mypOne">这是第一个p标签</p> <p class="not">这是第二个p标签</p> <p class="mypTwo">这是第三个p标签</p> <script type="text/javascript"> $(function(){ $("p[id][class*='p']").css("color","red"); }); </script>
结果:
这是第一个p标签
这是第二个p标签
这是第三个p标签
37. :first-child : 匹配第一个子元素,类似的 :first 匹配第一个元素,而此选择符将为每个父元素匹配一个子元素
<p> <p>这是第一个p中的第一个p标签</p> <p>这是第一个p中的第二个p标签</p> </p> <p> <p>这是第二个p中的第一个p标签</p> <p>这是第二个p中的第二个p标签</p> </p> <script type="text/javascript"> $(function(){ $("p p:first-child").css("color","red"); }); </script>
结果:
这是第一个p中的第一个p标签
这是第一个p中的第二个p标签
这是第二个p中的第一个p标签
这是第二个p中的第二个p标签
38. :first-of-type : 结构化伪类,匹配E的父元素的第一个E类型的子元素
<p> <p>这是第一个p中的p标签</p> <p>这是第一个p中的第一个p标签</p> <p>这是第一个p中的第二个p标签</p> </p> <p> <p>这是第二个p中的第一个p标签</p> <p>这是第二个p中的第二个p标签</p> </p> <script type="text/javascript"> $(function(){ $("p:first-of-type").css("color","red"); }); </script>
结果:
这是第一个p中p标签
这是第一个p中的第一个p标签
这是第一个p中的第二个p标签
这是第二个p中的第一个p标签
这是第二个p中的第二个p标签
39. :last-child : 匹配最后一个子元素,类似的 :last 只匹配最后一个元素,而此选择符将为每个父元素匹配最后一个子元素
<p> <p>这是第一个p中的第一个p标签</p> <p>这是第一个p中的第二个p标签</p> </p> <p> <p>这是第二个p中的第一个p标签</p> <p>这是第二个p中的第二个p标签</p> </p> <script type="text/javascript"> $(function(){ $("p p:last-child").css("color","red"); }); </script>
结果:
这是第一个p中的第一个p标签
这是第一个p中的第二个p标签
这是第二个p中的第一个p标签
这是第二个p中的第二个p标签
40. :last-of-type : 结构化伪类,匹配E的父元素的最后一个E类型的子元素,大体的意思跟 :first-of-type 差不多,只是一个是第一个元素,一个是最后一个元素
<p> <p>这是第一个p中的第一个p标签</p> <p>这是第一个p中的第二个p标签</p> <p>这是第一个p中的p标签</p> </p> <p> <p>这是第二个p中的第一个p标签</p> <p>这是第二个p中的第二个p标签</p> </p> <script type="text/javascript"> $(function(){ $("p:last-of-type").css("color","red"); }); </script>
结果:
这是第一个p中的第一个p标签
这是第一个p中的第二个p标签
这是第一个p中的p标签
这是第二个p中的第一个p标签
这是第二个p中的第二个p标签
41. :nth-child : 匹配其父元素下的第N个子或奇偶元素
注意!:eq(index)是从0开始,而这里的 :nth-child的序号是从1开始 的
<p> <p>这是第一个p中的第一个p标签</p> <p>这是第一个p中的第二个p标签</p> </p> <p> <p>这是第二个p中的第一个p标签</p> <p>这是第二个p中的第二个p标签</p> </p> <script type="text/javascript"> $(function(){ $("p p:nth-child(2)").css("color","red"); }); </script>
结果:
这是第一个p中的第一个p标签
这是第一个p中的第二个p标签
这是第二个p中的第一个p标签
这是第二个p中的第二个p标签
42. :nth-last-child : 选择所有他们父元素的第n个子元素,计数从最后一个元素开始到第一个,序号从1开始
注意:要有父级元素
<p> <p>这是p中的第一个p标签</p> <p>这是p中的第二个p标签</p> <p>这是p中的第三个p标签</p> </p> <script type="text/javascript"> $(function(){ $("p p:nth-last-child(1)").css("color","red"); }); </script>
结果:
这是p中的第一个p标签
这是p中的第二个p标签
这是p中的第三个p标签
43. :nth-last-of-type : 选择的所有他们的父级元素的第n个子元素,计数从最后一个元素到第一个,序号从1开始
<p> <p>这是p中的第一个p标签</p> <p>这是p中的第二个p标签</p> <p>这是p中的第三个p标签</p> <p>这是p中的p标签</p> </p> <script type="text/javascript"> $(function(){ $("p:nth-last-of-type(1)").css("color","red"); }); </script>
结果:
这是p中的第一个p标签
这是p中的第二个p标签
这是p中的第三个p标签
这是p中的p标签
44. :nth-of-type : 选择同属于一个父元素之下,并且标签名相同的子元素中的第n个,序号从1开始
<p> <p>这是p标签</p> <p>这是第一个p标签</p> <p> <p>这是第二个p标签</p> <p>这是第三个p标签</p> </p> <p>这是第四个p标签</p> </p> <script type="text/javascript"> $(function(){ $("p:nth-of-type(2)").css("color","red"); }); </script>
结果:
这是p标签
这是第一个p标签
这是第二个p标签
这是第三个p标签
这是第四个p标签
45. :only-child : 如果某个元素是父元素中唯一的子元素,那将会被匹配,如果父元素中含有其他元素,那将不会被匹配
<p> <p>这是p标签</p> <p>这是第一个p标签</p> </p> <p> <p>这是第二个p标签</p> </p> <script type="text/javascript"> $(function(){ $("p:only-child").css("color","red"); }); </script>
结果:
这是p标签
这是第一个p标签
这是第二个p标签
46. :only-of-type : 选择所有没有兄弟元素,且具有相同的元素名称的元素,如果父元素有相同的元素名称的其他子元素,那么没有元素会被匹配
<p> <p>这是p标签</p> <p>这是第一个p标签</p> </p> <p> <p>这是第二个p标签</p> <p>这是第三个p标签</p> </p> <script type="text/javascript"> $(function(){ $("p:only-of-type").css("color","red"); }); </script>
结果:
这是p标签
这是第一个p标签
这是第二个p标签
这是第三个p标签
47. :input : 匹配所有 input, textarea, select 和 button 元素
<form> <input type="text" /> <input type="button" /> <input type="checkbox" /> <input type="password" /> <input type="radio" /> <input type="reset" /> <input type="submit" /> <select><option>Option</option></select> <textarea></textarea> <button>Button</button> </form> <script type="text/javascript"> $(function(){ $(":input").css("color","red"); }); </script>
结果:
Option
48. :text : 匹配所有的单行文本框
<form> <input type="text" /> <input type="password" /> <input type="radio" /> <input type="reset" /> <input type="submit" /> </form> <script type="text/javascript"> $(function(){ $(":text").css("color","red"); }); </script>
结果:
49. :password : 匹配所有密码框
<form> <input type="text" /> <input type="password" /> <input type="submit" /> </form> <script type="text/javascript"> $(function(){ $(":password").css("color","red"); }); </script>
结果:
50. :radio : 匹配所有单选按钮
<form> <input type="text" /> <input type="password" /> <input type="radio" /> <input type="radio" /> </form> <script type="text/javascript"> $(function(){ $(":radio").css("color","red"); }); </script>
结果:
51. :checkbox : 匹配所有复选框
<form> <input type="text" /> <input type="password" /> <input type="checkbox" /> <input type="checkbox" /> </form> <script type="text/javascript"> $(function(){ $(":checkbox").css("color","red"); }); </script>
结果:
52. :submit : 匹配所有提交按钮
<form> <input type="submit" /> </form> <script type="text/javascript"> $(function(){ $(":submit").css("color","red"); }); </script>
结果:
53. :image : 匹配所有图像域
<form> <input type="image"/> </form> <script type="text/javascript"> $(function(){ $(":image").css("color","red"); }); </script>
54. :reset : 匹配所重置按钮
<form> <input type="reset" /> </form> <script type="text/javascript"> $(function(){ $(":reset").css("color","red"); }); </script>
结果:
55. :button : 匹配所有按钮
<form> <button>Button1</button> <button>Button2</button> </form> <script type="text/javascript"> $(function(){ $(":button").css("color","red"); }); </script>
结果:
56. :file : 匹配所有文件域
<form> <input type="file" /> </form> <script type="text/javascript"> $(function(){ $(":file").css("color","red"); }); </script>
57. :enabled : 匹配所有可用元素
<form> <input type="submit" disabled="disabled" /> <input type="reset" /> </form> <script type="text/javascript"> $(function(){ $(":enabled").css("color","red"); }); </script>
结果:
58. :disabled : 匹配所有不可用元素
<form> <input type="submit" disabled="disabled" /> <input type="reset" /> </form> <script type="text/javascript"> $(function(){ $(":disabled").css("color","red"); }); </script>
结果:
59. :checked : 匹配所有选中的被选中元素(复选框、单选框等,select中的option),对于select元素来说,获取选中推荐使用 :selected
<form> <input type="checkbox" name="news" checked="checked" /> <input type="checkbox" name="news" /> <input type="checkbox" name="news" checked="checked" /> </form> <script type="text/javascript"> $(function(){ $(":checked").css("color","red"); }); </script>
60. :selected : 匹配所有选中的option元素
<select> <option value="1">basketball</option> <option value="2" selected="selected">football</option> <option value="3">swim</option> </select> <script type="text/javascript"> $(function(){ $("select option:selected").css("color","red"); }); </script>
结果:
basketballfootballswim
61. $.escapeSelector(selector) : 这个方法通常被用在类选择器或者ID选择器中包含一些CSS特殊字符的时候,这个方法基本上与CSS中CSS.escape()方法类似,唯一的区别是jquery中的这个方法支持所有浏览器。
该选择器在jQuery库3.0版本才开始有
<!--对含有#号的ID进行编码--> <script type="text/javascript"> $(function(){ $.escapeSelector( "#target" ); // "\#target" }); </script>
以上がjQuery セレクターの最も完全な概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。