Element節點爲元素節點,對應着html頁面中具體的標籤html
nodeType爲1node
nodeName爲相應的標籤的名spa
nodeValue爲nullhtm
Attr爲特性節點,對應着每一個標籤中的屬性,它是一個節點,可是不存在於DOM的節點樹當中對象
nodeType爲11ci
nodeName爲屬性的名稱rem
nodeValue爲屬性具體的值get
<div class="abc" id="_id" dir="ltr" title="_title"></div>it
上面一段代碼定義了div的 class(在js中調用class元素時要使用className)dir(從左到右仍是從右到左)title等屬性class
當獲得div對象後,假設對象名爲div
1 能夠獲得
div.className
div.id
div.dir
div.title
能夠獲得這些屬性的值
同時能夠對這些屬性的值進行修改
同時也能夠添加屬性
例如div.align="center"
alert(div.id)
div.id="a"
2 setAttribute():能夠修改屬性的值,也能夠添加屬性
例如div.setAttribute("id","abc")
div.setAttribute("other","kkk")//本身增長的屬性
div.setAttribute("align",「center」)//增長div具備的屬性
getAttribute():獲得屬性的值,便可以獲得系統具備的屬性的值,也能夠獲得本身定義的屬性的值
div.getAttribute("id")//獲得_id
removeAttribute() 刪除屬性
3attributes屬性
每一個元素都有attributes屬性,每一個attributes屬性有
getNamedItem()
setNamesItem()
removeNamedItem()
Item()
四個方法
還有一個length屬性,表明屬性的個數
getNamedItem():獲得某一個屬性的節點
div.attributes.getNamedItem("id")//返回id屬性的節點 也能夠寫成div.attributes["id"]
div.attributes.getNamedItem("id").nodeValue//獲得id屬性的值,_id
setNamedItem():爲元素添加屬性
div.attributes.getNamedItem(newAttr)//newAttr爲新建立的元素,添加到了div中
removeNamedItem():刪除屬性
div.attributes.removeNamedItem("id")//刪除了id屬性
item():獲得某一位置的屬性
div.attributes.item(2)//獲得第三個,即dir屬性 也能夠寫成div.attributes[2]
div.attributes.length 獲得屬性的個數
attributes屬性是和NodeList同樣動態變化的,即每增長一個屬性,會立刻在attributes.length中獲得反映
每一個屬性都有specified屬性,爲Boolen屬性,若是爲真,代表這個屬性是在元素中定義了或者用js的方法添加到元素中了
若是爲假,則說明沒有這個元素
attributes主要用於屬性的遍歷
var arr=new Array();
for(var i=0,var len=div.attributes.length;i<len;i++)
{
if(div.attributes[i].specified)
{
arr.push(div.attributes[i].nodeValue);
}
}
Attr節點
1它有三個屬性
name:屬性節點的名,至關於nodeName
value:屬性節點的值,至關於nodeValue
specified:該屬性節點是否被添加到了標籤中
例如上面的div.attributes[i]就是一個屬性節點
能夠獲取他的name,value,specified
它有兩個方法
createAttribute():建立節點
setAttributeNode();將建立的節點添加到元素中
var ali=document.createAttribute("align")//建立了一個align屬性節點
align="center"//爲屬性節點賦值
div.setAttributeNode(ali)//將屬性節點添加到div中