在HTML文檔中,元素通常包含很多屬性(attribute)。在jQuery中,除了直接使用id和class屬性作為選擇器之外(也就是之前我們講解的“id選擇器”和“class”選擇器),還可以把各種屬性作為選擇器,這就是我們所說的屬性選擇器。
在jQuery中,常見的屬性選擇器如下:
:selector指的是選擇器,attr指的是屬性(attribute),value指的是屬性值。
jQuery的屬性選擇器使得選擇器具有通配符的功能。可以說,屬性選擇器這是一類參考正則表達式來設計的選擇器。
下面我們通過一些簡單實例來深入學習。
$("div[class]")
$("input[type = 'checkbox']")
$("input[type != 'checkbox']")
$("div[class *= 'nav']")
$("input[name ^= 'group']")
$("input[name $= 'group']")
$("div[id][class ^='lvye']")
舉例:
在線測試<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script src="jquery-1.12.0.min.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { $("input[type='checkbox']").attr("checked", "checked"); }) </script> </head> <body> <h3>你喜歡的水果是:</h3> <div id="list"> <label><input type="checkbox" />:蘋果</label> <label><input type="checkbox" />:西瓜</label> <label><input type="checkbox" />:蜜桃</label> <label><input type="checkbox" />:梨子</label> <label><input type="checkbox" />:香蕉</label> </div> </body> </html>
在浏覽器預覽效果如下:
分析:
$("input[type='checkbox']")表示選取type屬性值為checkbox的所有input元素,也就是選取所有的復選框。$("input[type='checkbox']").attr("checked", "checked")表示把所有復選框的checked屬性值設置為checked(即被選中)。
在這個例子中,我們只需要學習屬性選擇器這種選擇方式就行了,對於attr()方法不需要去了解,我們在後續課程會詳細講解到。
屬性選擇器很好理解,就是選取具有某些屬性的元素。其實我們也可以把“id選擇器”和“class”選擇器當做是特殊的屬性選擇器。
$("#lvye") //id選擇器 $("[id = 'lvye']") //屬性選擇器
$(".lvye ") //class選擇器 $("[class = 'lvye']") //屬性選擇器
上面這2組表達式其實是等價的。此外,大家要注意一點:在jQuery中,屬性選擇器最常見於表單操作。