題龍陽縣青草湖
(元)唐溫如
西風吹老洞庭波,一晚上湘君白髮多。
醉後不知天在水,滿船清夢壓星河。
複製代碼
attribute:是HTML標籤上的某個屬性,如id、class、value等以及自定義屬性html
它的值只能是字符串,關於這個屬性一共有三個相關的方法,setAttribute、getAttribute、removeAttribute;bash
property:是js獲取的DOM對象上的屬性值,好比a,你能夠將它看做爲一個基本的js對象。函數
這個節點包括不少property,好比value,className以及一些方法onclik等方法。spa
簡單理解,Attribute就是DOM節點自帶的屬性,HTML標籤中定義的屬性和值會保存該DOM對象的attributes屬性裏面;而Property是這個DOM元素做爲對象其附加的內容,例如childNodes、firstChild等,且都是默認的基本屬性,而在建立的時候,它只會建立這些基本屬性,。 設計
總結:code
《js高級程序設計》中提到,爲了方便操做,建議你們用setAttribute()和getAttribute()來操做便可。cdn
<div id="div1" class="divClass" title="divTitle" align="left" title1="divTitle1"></div>
var id = div1.getAttribute("id");
var className1 = div1.getAttribute("class");
var title = div1.getAttribute("title");
var title1 = div1.getAttribute("title1"); //自定義特性
複製代碼
div1.setAttribute('class', 'a');
div1.setAttribute('title', 'b');
div1.setAttribute('title1', 'c');
div1.setAttribute('title2', 'd');
複製代碼
用setAttrbute()賦值,任何Attribute均可以,包括自定義的。並且,賦值的Attribute會馬上表現到DOM元素上。htm
若是是標準特性,也會更新它們關聯的屬性的值:對象
注意:在使用setAttribute的時候,該函數必定接收兩個參數,setAttribute(attributeName,value),不管value的值是什麼類型都會編譯爲字符串類型。在html標籤中添加屬性,本質上是跟在標籤裏面寫屬性時同樣的,因此屬性值最終都會編譯爲字符串類型。 blog
屬性取值很簡單。取任何屬性的只,用「.」就能夠:
var id = div1.id;
var className = div1.className;
var childNodes = div1.childNodes;
var attrs = div1.attributes;
複製代碼
此處再次強調:
賦值和基本的js對象屬性賦值同樣,用「.」便可:
div1.className = 'a';
div1.align = 'center';
div1.AAAAA = true;
div1.BBBBB = [1, 2, 3];
複製代碼
對屬性Property能夠賦任何類型的值,而對特性Attribute只能賦值字符串!
由此,可得出結論: