关于Attr对像中的三个属性name、value、specified、如何使用,在使用过程中需要注意那些问题,我们将通过此文章进行介绍,元素的特性在DOM中以Attr类型来表示。在所有浏览器中(包括IE8),都可以访问Attr类型的构造函数和原型。从技术角度讲,特性就是存在于元素的attributes属性中的节点。特性节点具有下列特征:
◎nodeType的值为11;
◎nodeName的值是特性的名称;
◎nodeValue的值是特性的值;
◎parentNode的值为null;
◎在HTML中不支持(没有)子节点;
◎在XML中子节点可以是Text或EntityRef erence。
尽管它们也是节点,但特性却不被认为是DOM文档树的一部分。开发人员最常使用的是getAt- tribute()、setAttribute()和remveAt tribute()方法,很少直接引用特性节点。
Attr对象有3个属性:name、value和specified。其中,name是特性名称(与nodeName的 值相同),value是特性的值(与nodeValue的值相同),而specified是一个布尔值,用以区别特性是在代码中指定的,还是默认的。
使用document.createAttribute()并传入特性的名称可以创建新的特性节点。例如,要为元素添加align特性,可以使用下列代码:
var element=document.getElementByld("myDiv");
var attr=document.createAttribute("align");
attr.value="left";
element.setAttributeNode(attr);
alert{ element.attriloutes["align"].value); //"left"
alert (element. getAttributeNode("align") .value); //"left"
alert(element. getAttribute("align")); //"left"
这个例子创建了一个新的特性节点。由于在调用createAttribute()时已经为name属性赋了值,所以后面就不必给它赋值了。之后,又把value属性的值设置为"left"。为了将新创建的特性添加到元素中,必须使用元素的setAttributeNode()方法。添加特性之后,可以通过下列任何方式访问该特性:attributes属性、getAttributeNode()方法以及getAttribute()方法。其中,attributes 和getAttributeNode()都会返回对应特性的Attr节点,而getAttribute()则只返回特性的值。
我们并不建议直接访问特性节点。实际上,使用getAttribute()、setAttribute() 和removeAttribute()方法远比操作特性节点更为方便。
本文仅限内部技术人员学习交流,不得作于其他商业用途.希望此文对广技人员有所帮助。原创文章出自:南昌网站建设公司-百恒网络http://www.jxbh.cn/如转载请注明出处!