JavaScript高级程序设计之DOM之节点层次之Attr类型第10.1.9讲
2015-11-03 15:49
591 查看
元素的特性在DOM 中以Attr 类型来表示。在所有浏览器中(包括IE8),都可以访问Attr 类型
的构造函数和原型。从技术角度讲,特性就是存在于元素的attributes 属性中的节点。特性节点具有
下列特征:
nodeType 的值为2;
nodeName 的值是特性的名称;
nodeValue 的值是特性的值;
parentNode 的值为null;
在HTML 中不支持(没有)子节点;
在XML 中子节点可以是Text 或EntityReference。
尽管它们也是节点,但特性却不被认为是DOM 文档树的一部分。开发人员最常使用的是getAt-tribute()、setAttribute()和remveAttribute()方法,很少直接引用特性节点。
Attr 对象有3 个属性:name、value 和specified。其中,name 是特性名称(与nodeName 的值相同),value 是特性的值(与nodeValue 的值相同),而specified 是一个布尔值,用以区别特
性是在代码中指定的,还是默认的。
使用document.createAttribute()并传入特性的名称可以创建新的特性节点。例如,要为元素
添加align 特性,可以使用下列代码:
var attr = document.createAttribute("align"); attr.value = "left"; element.setAttributeNode(attr); alert(element.attributes["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()方法远比操作特性节点更为方便。
相关文章推荐
- JavaScript基础学习(三)----Array数组对象
- response content-type json
- json对象中的值被引用两次的问题
- JavaScript高级程序设计之DOM之节点层次之DocumentFragment类型第10.1.8讲
- Javascript进阶篇——( 事件响应)笔记整理
- js获得日期操作,以及日期的格式化
- jsp页面的数显示两位小数
- jsp页面中jstl标签详解
- ajax 的json联动
- JS图片加倒影
- js中this的用法
- JS中对Map操作+el表达式使用map显示界面
- 正则表达式Regular Expression (RegExp)详解
- js实现二级菜单渐隐显示
- 正则表达式链接替换函数的技巧
- 使用CSS+JavaScript生成Tips(Bubble)
- 你不知道的JavaScript--Item26 异步的脚本加载
- 你不知道的JavaScript--Item26 异步的脚本加载
- HTML DOM 事件,可用于定义js在HTML元素中不同操作的处理程序
- 整理JavaScript创建对象的八种方法