DIV CSS 佈局教程網

2.4 屬性選擇器
編輯:jQuery基礎知識     

在HTML文檔中,元素通常包含很多屬性(attribute)。在jQuery中,除了直接使用id和class屬性作為選擇器之外(也就是之前我們講解的“id選擇器”和“class”選擇器),還可以把各種屬性作為選擇器,這就是我們所說的屬性選擇器。

在jQuery中,常見的屬性選擇器如下:

jQuery屬性選擇器 選擇器 說明 $("selector[attr]") 選擇包含給定屬性的元素 $("selector[attr='value']") 選擇給定的屬性是某個特定值的元素 $("selector[attr != 'value']") 選擇所有含有指定的屬性,但屬性不等於特定值的元素 $("selector[attr *= 'value']") 選擇給定的屬性是以包含某些值的元素 $("selector[attr ^= 'value']") 選擇給定的屬性是以某些值開始的元素(比較少用) $("selector[attr $= 'value']") 選擇給定的屬性是以某些值結尾的元素(比較少用) $("selector[selector1][selector2]…[selectorN]") 復合屬性選擇器,需要同時滿足多個條件時使用

:selector指的是選擇器,attr指的是屬性(attribute),value指的是屬性值。

jQuery的屬性選擇器使得選擇器具有通配符的功能。可以說,屬性選擇器這是一類參考正則表達式來設計的選擇器。

下面我們通過一些簡單實例來深入學習。

(1)選擇含有class屬性的div元素。

 
$("div[class]")

(2)選擇type屬性值為checkbox的input元素(也就是選擇所有復選框元素):

 
$("input[type = 'checkbox']")

(3)選擇type屬性值不是checkbox的input元素:

 
$("input[type != 'checkbox']")

(4)選擇class屬性包含nav的div元素(因為class屬性可以包含多個值):

 
$("div[class *= 'nav']")

(5)選擇name屬性以group開始的input元素,例如<input type="radio" name="group-fruit"/>:

 
$("input[name ^= 'group']")

(6)選擇name屬性以group結尾的input元素,例如<input type="radio" name="fruit-group"/>:

 
$("input[name $= 'group']")

(7)選擇具有id屬性並且class屬性是以nav開頭的div元素,例如<div id="div1" class="lvye-div"> 學習網</div>:

 
$("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中,屬性選擇器最常見於表單操作。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved