DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> jQuery入門知識 >> JQuery特效代碼 >> jQuery使用之標記元素屬性用法實例教程
jQuery使用之標記元素屬性用法實例教程
編輯:JQuery特效代碼     

本文實例講述了jQuery使用之標記元素屬性用法。分享給大家供大家參考。具體分析如下:

這裡介紹jQuery的使用主要包括jQuery如何控制頁面,包含元素的屬性、css樣式風格、DOM模型、表單元素和事件處理等。

標記元素的屬性

html中每一個標記都具有一些屬性,他們這個標記在頁面中呈現各種狀態,例如下面的<a>標記
代碼如下:<a herf="http://www.baidu.com" title="isaac" target="_blank" id="linkisaac">

該標記<a>表示標記的名稱,為一個超鏈接,另外還有href titile target id等屬性表示這個超鏈接在頁面中的各種狀態。

本文從jQuery角度出發,進一步講解頁面屬性控制方法。

1.each()遍歷元素

each(callback)方法主要用於對選擇器中的元素進行遍歷,它接受一個函數作為參數,這個函數接受一個參數,指代元素的序號。對於標記的屬性而言,可以利用each()方法配合this關鍵字來獲取或者設置選擇器中的每個元素對應的屬性值。

使用each()方法遍歷所有元素。
代碼如下:<script type="text/javascript">
    $(function() {
$("p").each(function(index){
    this.title = "這是第"+ (index+1) + "個P,id是:"+ this.id;
});
    });
</script>
<div>
    <p id="001">第一段</p>
    <p id="002">第二段</p>
    <p id="003">第二段</p>
    <p id="004">第二段</p>
    <p id="005">第二段</p>
    <p id="006">第二段</p>
    <p id="007">第二段</p>
</div>

以上代碼中有7個P元素,首先利用$("p")獲取頁面中所有p元素集合,然後使用each()方法遍歷所有的圖片。通過this關鍵字對圖片進行訪問,獲取圖片的id,並設置圖片的id屬性。其中each()方法的函數index為元素所處的序號。

2.獲取屬性的值。attr(name)方法

除了在遍歷整個選擇器中的元素。很多時候需要得到某個對象的特點的值,在jQuery中可以通過attr(name)方法很輕松的實現這一點。該方法獲取元素集中第一個的屬性值。如果沒有匹配則返回unfefined.
代碼如下:script type="text/javascript">
    $(function() {
 var sTitle = $("p").attr("title");//獲取第一個p元素的title屬性值
 $("#display").text(sTitle);
    });
</script>
<div>
    <p id="001" title="isaac,hobby">第一段</p>
    <p id="002" title="isaac,hobby">第二段</p>
    <p id="003">第二段</p>
    <p id="004">第二段</p>
    <p id="005">第二段</p>
    <p id="006">第二段</p>
    <p id="007">第二段</p>
    <span id="display"></span>
</div>

如果,想獲取第二個p的title屬性值,則可以通過位置選擇器來完成。
代碼如下:$(function() {
 var sTitle = $("p:eq(1)").attr("title");//獲取第2個p元素的title屬性值
 $("#display").text(sTitle);
});
3.設置屬性的值。attr(name,value)

attr()方法除了可以獲取元素的值外,還可以設置屬性的值,通用 的表達式為
代碼如下:attr(name,value)
例如:下面代碼將使頁面的超鏈接都在新窗口打開。
代碼如下:<script type="text/javascript">
    $(function() {
    $("a[href*=http]").attr("target","_blank");
    });
</script>
例子:
代碼如下:<script type="text/javascript">
    function DisableBack() {
 $("button:gt(0)").attr("disabled", "disabled");
    }
</script>
<div>
    <button onclick="DisableBack()">第一個Button</button> 
    <button>第二個Button</button> 
    <button>第三個Button</button> 
</div>

通過位置選擇器,當單擊第一個按鈕時,後面兩個按鈕同時被禁用。

很多時候,我們希望屬性的值能根據不同的元素有規律的變化。這個時候我們可以使用attr(name,fn),第二個參數為一個函數。該函數接受一個參數,為元素的序號,返回值為字符串。
代碼如下:<script type="text/javascript">
    $(function() {
 $("div").attr("id", function(index) {
     //將id設置為序號相關的參數
     return "div-id" + index;
 }).each(function() {
     //找到每一項的span標記
     $(this).find("span").html("(id='" + this.id + "')");
 });
    });
</script>
<div>第0項 <span></span>
</div>
<div>第1項 <span></span>
</div>
<div>第2項 <span></span>
</div>

返回內容:
代碼如下:第0項 (id='div-id0')
第1項 (id='div-id1')
第2項 (id='div-id2')
以上代碼通過attr(name,fn)將頁面中所有的<div>塊的id屬性值設置為序號相關的參數。並通過each()方法遍歷div塊,將id值顯示在各自的<span>標記中。這可以看到jQuery鏈的強大。

有的時候對於某些元素,希望同時設置它不同的屬性,如果采用上面的方法則需要一個個屬性設置。jQuery很人性化, attr()還提供一個列表設置attr(properties)方法。可以設置多個屬性。
代碼如下:<script type="text/javascript">
    $(function() {
 $("img").attr({
     src: "06.jpg",
     title: "名字1",
     alt: "名字2"
 });
    });
</script>
<img>
<img>
<img>
<img>
<img>

執行結果:
代碼如下:<img src="06.jpg" title="名字1" alt="名字2">
<img src="06.jpg" title="名字1" alt="名字2">
<img src="06.jpg" title="名字1" alt="名字2">
<img src="06.jpg" title="名字1" alt="名字2">
<img src="06.jpg" title="名字1" alt="名字2">
4.刪除屬性

當設置某個元素屬性的值時,可以通過removeAttr(name)方法將屬性值刪除。這時元素將恢復默認的設置。例如下面的代碼使得所有按鈕均不被禁用。
代碼如下:$(function() {
 $("button").removeAttr("disabled")
});
removeAttr(name)刪除屬性相當於html標記中不刪除該屬性。並不是取消了該標記的這個特點。上述代碼運行後,所有按鈕依然具有設置為禁用的能力。

希望本文所述對大家的jQuery程序設計有所幫助。

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