jquery における属性セレクターは、フィルター条件として要素の属性に基づくセレクターであり、「要素の属性」を通じて要素を選択する方法を指します。このセレクターは、特定の属性を持つ要素、または特定の属性を持つ要素を検索できます。つまり、既存の属性名または属性値を使用して HTML 要素を照合し、指定された属性を持つ HTML 要素を操作できます。 jQuery 属性セレクターは、セレクターをワイルドカードのように、正規表現に少し似た機能にします。
このチュートリアルの動作環境: Windows7 システム、jquery3.6 バージョン、Dell G3 コンピューター。
jQuery 属性セレクターの紹介
jQuery 属性セレクターは、フィルター条件として要素の属性に基づくセレクターです。
属性セレクターは、「要素の属性」を通じて要素を選択する方法を指します。属性セレクターは、特定の属性または特定の属性値を持つ要素を検索できます。つまり、既存の属性名または属性値を通じて HTML 要素と照合し、指定された属性を持つ HTML 要素を操作できます。
要素の属性は誰でも知っているので、以下のコードの id、type、value は input 要素の属性です。
<input id="btn" type="button" value="按钮" />
jQuery では、一般的な属性セレクターが表に示されています。ここで、E は要素を指し、attr は属性 (attr) を指し、value は属性値を指します。
セレクター | 説明 |
---|---|
E[attr] | 要素 E を選択します。E 要素には attr 属性が必要です。 |
E[attr = “value”] | Select要素 E、要素 E の attr 属性の値は value |
E[attr!= "value"] | 要素 E、値は要素 E の属性は value |
属性値は value ではありません | |
E 要素の attr 属性値が「value」で始まる要素 E を選択します。 | |
は要素 E を選択します。ここで、E 要素の attr 属性の値は、「value」で終わる値です。 attr *= "value"] | 要素 E を選択します。E 要素の attr 属性の値は、「value」を含む任意の文字です |
E[attr |= "value"] | E 要素の attr 属性値が "value" に等しいか、"value" で始まる要素 E を選択します。 |
E[ attr ~= "value"] | E 要素の attr 属性値が「value」に等しいか、「value」を含む要素 E を選択します |
[selector1 ][selector2][selectorN] | 複数属性セレクター (属性交差セレクター) |
jQuery这些属性选择器使得选择器具有通配符的功能,有点正则表达式的感觉。下面我们通过一些简单实例来认识一下。
选取含有class属性的div元素:
$("div[class]")
选取type取值为checkbox的input元素:
$("input[type = 'checkbox']")
选取type取值不是checkbox的input元素:
$("input[type != 'checkbox']")
选取class属性包含nav的div元素(class属性可以包含多个值):
$("div[class *= 'nav']")
选取class属性以nav开头的div元素,例如:
<div class="nav-header"></div>: $("div[class ^= 'nav']")
选取class属性以nav结尾的div元素,例如:
<div class="first-nav"></div>: $("div[class $= 'nav']")
选取带有id属性并且class属性是以nav开头的div元素,例如:
<div id="container" class="nav-header"></div>: $("div[id][class ^='nav']")
代码示例
<!DOCTYPE style="color:rgb(73 238 255)">html> <style="color:rgb(73 238 255)">html> <style="color:rgb(73 238 255)">head lang="style="color:rgb(255 95 0)">zh-CN"> <style="color:rgb(73 238 255)">meta charset="style="color:rgb(255 95 0)">UTF-8"> <style="color:rgb(73 238 255)">meta name="style="color:rgb(98 189 255)">viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"> <style="color:rgb(255 95 0)">title>多项选择器</style="color:rgb(255 95 0)">title> <style></style> </style="color:rgb(73 238 255)">head> <body> <section> <ul id="style="color:rgb(255 111 119)">one" class="style="color:rgb(98 189 255)">eukaryotes_animal"> <li>猴子</li> <li>猛犸</li> <li>猩猩</li> </ul> <ul id="style="color:rgb(255 111 119)">two" class="style="color:rgb(98 189 255)">eukaryotes_plant"> <li>牡丹</li> <li>樱花</li> <li>仙人掌</li> </ul> <ul id='three' class="style="color:rgb(98 189 255)">prokaryotes_microbe"> <li>细菌</li> <li>蓝细菌</li> <li>放线菌</li> <li>支原体</li> </ul> </section> <script src="style="color:rgb(255 95 0)">https://style="color:rgb(255 111 119)">cdn.style="color:rgb(253 97 106)">bootcss.com/style="color:rgb(255 211 0)">jquery/3.3.1/style="color:rgb(255 211 0)">jquery.js"></script> <script type="text/javascript"> $(document).ready(function () { //此处填写代码 }); </script> </body> </style="color:rgb(73 238 255)">html>
[attribute] 属性名选择器
选择拥有该属性名的元素。
var a=$('[id]'); console.log(a);
选中了示例中所有拥有id属性的元素
[attribute=value]属性值选择器
选择属性值为某个特定值的元素。
var a=$('[id=one]'); console.log(a);
选中了示例中id=one的元素
[attribute!=value]非属性值选择器
选择所有属性值不为特定值的元素(包括没有该属性的元素)
var a=$('[class!=eukaryotes_animal]'); console.log(a);
除了ul#one.eukaryotes_animal没有选中外,包括它的子元素在内的其他元素均在选择范围内。
[attribute^=value]属性值以某个字符串开头的选择器
var a=$('[class^=eukaryotes]'); console.log(a);
[attribute$=value]属性值以某个字符串结尾的选择器
var a=$('[class$=plant]'); console.log(a);
[attribute*=value]属性值中包含某个字符串的选择器
var a=$('[class*=yotes_m]'); console.log(a);
[selector1][selector2][selectorN] 多属性选择器(属性交集选择器)
var a=$('[class^=eukaryotes_][id]'); console.log(a);
更多编程相关知识,请访问:编程学习!!
以上がjqueryの属性セレクターとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。