Element和Attr節點

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中

相關文章
相關標籤/搜索