DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> jQuery入門知識 >> JQuery常見問題 >> 區分DOM屬性和元素屬性
區分DOM屬性和元素屬性
編輯:JQuery常見問題     
一、區分DOM屬性和元素屬性

對於下面這樣一個標簽元素:

<img id='img' src="images/image.1.jpg" alt='1' class="imgs"></img>
我們通常將id、src、alt、class稱為屬性,也即元素屬性。但是,當浏覽器對標簽元素進行解析時,會將元素解析為Dom對象,相應的,元素屬性也就解析為Dom屬性,兩者是有區別的。

元素屬性 和 Dom屬性 只是在我們對其進行不同解析時的不同稱呼。

值得注意的是:

1.元素被解析成Dom時,元素屬性和Dom屬性並不一定是原來的名稱;

例如,img的class屬性,在表現為元素屬性時是class;在表現為Dom屬性時,屬性名為className。

2.雖然我們設置了元素的src是相對路徑:images/image.1.jpg,但是在“DOM屬性”中都會轉換成絕對路徑:

http://localhost/images/image.1.jpg。

3.在JavaScript中,我們可以直接獲取或設置Dom屬性:

<script type="text/javascript">
$(function() {
var img1 = document.getElementById("hibiscus");
alert(img1.alt);
img1.alt = "Change the alt element attribute";
alert(img1.alt);
})
</script>
所以如果要設置元素的CSS樣式類,要使用的是DOM屬性“className”而不是元素屬性class:

img1.className = "classB";

二、操作“DOM屬性”

在jQuery中沒有包裝操作"DOM屬性"的函數, 因為使用javascript獲取和設置"DOM屬性"都很簡單. 在jQuery提供了each()函數用於遍歷jQuery包裝集,其中的this指針是一個DOM對象,所以我們可以應用這一點配合原生 JavaScript來操作元素的DOM屬性:

$("img").each(function(index) {
alert("index:" + index + ", id:" + this.id + ", alt:" + this.alt);
this.alt = "changed";
alert("index:" + index + ", id:" + this.id + ", alt:" + this.alt);
});
下面是each函數的說明:

each( callback ) Returns: jQuery包裝集

對包裝集中的每一個元素執行callback方法, 其中callback方法接受一個參數, 表示當前遍歷的索引值,從0開始。
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved