attributes
获取一个属性作为对象
getAttribute
获取某一个属性的值
setAttribute
建立一个属性,并同时给属性捆绑一个值
createAttribute
仅建立一个属性
removeAttribute
删除一个属性
getAttributeNode
获取一个节点作为对象
setAttributeNode
建立一个节点
removeAttributeNode
删除一个节点
attributes
可以获取一个对象中的一个属性,并且作为对象来调用,注意在这里要使用“[]”,IE在这里可以使用“()”,考虑到兼容性的问题,要使用“[]”。
attributes 回指定节点的属性集合,即 NamedNodeMap。
提示:您可以使用 length 属性来确定属性的数量,然后您就能够遍历所有的属性节点并提取您需要的信息。
1 <div id ="demo" > <input type ="hidden" id ="sss" value ="aaa" > </div >
1 2 3 4 var d=document .getElementById("sss" ).attributes["value" ];document .write(d.name);document .write(d.value);
注意这几点: 1、createAttribute在使用的时候不需要基于对象的,document.createAttribute()就可以。
2、setAttribute,createAttribute在使用的时候如果是使用的时候不要使用name,type,value等单词,IE都FF的反应都奇怪的难以理解。
3、createAttribute在使用的时候如果只定义了名字,没有d.nodeValue=”hello”;语句定义值,FF会认为是一个空字符串,IE认为是undefined,注意到这点就可以了。
getAttribute 返回指定属性名的属性值
1 <div id ="demo" > <input type ="hidden" id ="sss" value ="aaa" > </div >
1 2 3 var d=document .getElementById("sss" ).getAttribute("value" );document .write(d);
setAttribute 添加指定的属性,并为其赋指定的值。如果这个指定的属性已存在,则仅设置/更改值。
1 <div id ="demo" > <input type ="hidden" id ="sss" value ="aaa" > </div >
1 2 3 var d=document .getElementById("sss" ).setAttribute("good" ,"hello" );alert(document .getElementById("demo" ).innerHTML)
createAttribute 1 <div id ="demo" > <input type ="hidden" id ="sss" value ="aaa" > </div >
1 2 3 4 var d=document .createAttribute("good" );document .getElementById("sss" ).setAttributeNode(d);alert(document .getElementById("demo" ).innerHTML)
removeAttribute 删除指定的属性。
1 <div id ="demo" > <input type ="hidden" id ="sss" value ="aaa" > </div >
1 2 3 var d=document .getElementById("sss" ).removeAttribute("value" );alert(document .getElementById("demo" ).innerHTML)
getAttributeNode,setAttributeNode,removeAttributeNode三个方法的特点是都直接操作一个node(节点),removeAttributeNode在一开始的时候总会用错,但是充分理解了node的含义的时候,就能够应用自如了。
getAttributeNode 1 <div id ="demo" > <input type ="hidden" id ="sss" value ="aaa" > </div >
1 2 3 4 var d=document .getElementById("sss" ).getAttributeNode("value" );document .write(d.name);document .write(d.value);
setAttributeNode 1 <div id ="demo" > <input type ="hidden" id ="sss" value ="aaa" > </div >
1 2 3 var d=document .createAttribute("good" );document .getElementById("sss" ).setAttributeNode(d);alert(document .getElementById("demo" ).innerHTML);
removeAttributeNode 1 <div id ="demo" > <input type ="hidden" id ="sss" value ="aaa" > </div >
1 2 3 var d=document .getElementById("sss" ).getAttributeNode("value" )document .getElementById("sss" ).removeAttributeNode(d); alert(document .getElementById("demo" ).innerHTML);
学习了Attribute的几个属性,感觉对DOM的操作又撑控的多一些了,需要再接再励!
bug提示:
1 2 getAttribute('name' ) getAttributeNode('name' ).nodeValue