Element和Attr节点

Element节点为元素节点,对应着html页面中具体的标签

nodeType为1

nodeName为相应的标签的名

nodeValue为null

Attr为特性节点,对应着每个标签中的属性,它是一个节点,但是不存在于DOM的节点树当中

nodeType为11

nodeName为属性的名称

nodeValue为属性具体的值


<div class="abc" id="_id" dir="ltr" title="_title"></div>

上面一段代码定义了div的 class(在js中调用class元素时要使用className)dir(从左到右还是从右到左)title等属性

当得到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中

 

posted @ 2016-09-20 21:15  shenlong77  阅读(2961)  评论(0编辑  收藏  举报