jQuery容易忽略的選擇器
阿新 • • 發佈:2018-11-20
- 選擇器:
- 偽類選擇器(標籤+一個英文冒號)
$("ul li:eq(3)") $("li:even") $("li:odd")
-
表單選擇器(一個英文冒號+表單屬性)
$(":checkbox") $(":checked") $(":text")
3.屬性選擇器(選擇某個屬性或者是某個屬性屬於某個值)
$("li[id]") $("li[id='link']")
- 偽類選擇器(標籤+一個英文冒號)
2.其他選擇器:
- 選擇所有的元素:$("*");
- 可一次選擇多個元素,用逗號隔開;
- 可以按選擇類的方式選擇元素;
- 可選擇奇數(odd)或者是偶數(even),可之間選擇第一個(first)或者是最後一個(last),中間用冒號隔開;
- :eq(index)直接選擇下標為index的元素,:gt(index)選擇下標大於index的元素,:lt(index)選擇下標小於index的元素,:not(selector)滿足不為xx條件的元素;eg:$('input:not(:empty)')所有不為空的input元素。
- :header所有的標題元素<h1>--<h6>,:animated所有正在執行的動畫元素;
-
:contains(text) $(":contains('W3School')") 包含指定字串的所有元素 :empty $(":empty") 無子(元素)節點的所有元素 :hidden $("p:hidden") 所有隱藏的 <p> 元素 :visible $("table:visible") 所有可見的表格
屬性選擇器:
[attribute] $("[href]") 所有帶有 href 屬性的元素 [attribute=value] $("[href='#']") 所有 href 屬性的值等於 "#" 的元素 [attribute!=value] $("[href!='#']") 所有 href 屬性的值不等於 "#" 的元素 [attribute$=value] $("[href$='.jpg']") 所有 href 屬性的值包含以 ".jpg" 結尾的元素
表單選擇器:
: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") 所有 按鈕元素(<button></button> 或者 input="button") :image $(":image") 所有 type="image" 的 <input> 元素 :file $(":file") 所有 type="file" 的 <input> 元素
選擇啟用、禁用、被選取、被選中的input元素
:enabled $(":enabled") 所有啟用的 input 元素 :disabled $(":disabled") 所有禁用的 input 元素 :selected $(":selected") 所有被選取的 input 元素 :checked $(":checked") 所有被選中的 input 元素
3.jQuery關係選擇器
找父親:
$(selector).parent(); //獲取直接父級
$(selector).parents('p'); //獲取所有父級元素直到html
- 找後代
-
* $(selector).children(); //獲取直接子元素 * $(selector).find("span"); //獲取所有的後代元素 find方法 可能用的多。
- 找前後同級
-
$(selector).siblings() //所有的兄弟節點 $(selector).next() //下一個兄弟節點 $(selector).nextAll() //後面的所有節點 $(selector).prev() //前面一個的兄弟節點 $(selector).prevAll() //前面的所有的兄弟節點
- 過濾方法(這裡有選擇自定義類的(filter)和不要自定義類的)
-
$("p").eq(1); //取第n個元素 $("div p").last(); //取最後一個元素 $("div p").first(); //取第一個元素 $("p").filter(".intro"); //過濾,選擇所有p標籤帶有 .intro類 $("p").not(".intro"); //去除,跟上面的filetr正好相反