网站首页 > 基础教程 正文
元素的特性在DOM中以Attr类型来表示。在所有浏览器中(包括IE8),都可以访问Attr类型的构造函数和原型。从技术角度讲,特性就是存在于元素的attributes属性中的节点。特性节点具有下列特征:
nodeType的值为11;
nodeName的值是特性的名称;
nodeValue的值是特性的值;
parentNode的值为null;
在HTML中不支持(没有)子节点;
在XML中子节点可以是Text或EntityReference。
尽管它们也是节点,但特性却不被认为是DOM文档树的一部分。开发人员最常使用的是getAttribute()、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"
AttrExample01.htm
这个例子创建了一个新的特性节点。由于在调用createAttribute()时已经为name属性赋了值,所以后面就不必给它赋值了。之后,又把value属性的值设置为"left"。为了将新创建的特性添加到元素中,必须使用元素的setAttributeNode()方法。添加特性之后,可以通过下列任何方式访问该特性:attributes属性、getAttributeNode()方法以及getAttribute()方法。其中,attributes和getAttributeNode()都会返回对应特性的Attr节点,而getAttribute()则只返回特性的值。
我们并不建议直接访问特性节点。实际上,使用getAttribute()、setAttribute()和removeAttribute()方法远比操作特性节点更为方便。
想要了解更多Java基础知识,可以点击评论区链接和小编一起学习java吧,此视频教程为初学者而著,零基础入门篇!给同学们带来全新的Java300集课程啦!java零基础小白自学Java必备优质教程_手把手图解学习Java,让学习成为一种享受_哔哩哔哩_bilibili
猜你喜欢
- 2024-10-15 简单拖拽即生成网页 VvvebJs 拖拽生成html页面前端框架
- 2024-10-15 WordPress 常用函数:esc_html wordpress功能代码
- 2024-10-15 前端入门——css 选择器 css选择器详解
- 2024-10-15 CSS实现html指令式Tips文字提示 css提示信息
- 2024-10-15 从青铜到王者10个css3伪类使用技巧和运用
- 2024-10-15 10-CSS3选择器详解 css~选择器
- 2024-10-15 用 Java 拿下 HTML 分分钟写个小爬虫
- 2024-10-15 你想知道的CSS3选择器,全在这里 你想知道的css3选择器,全在这里的英文
- 2024-10-15 不要再封装各种Util工具类了,这个神级框架值得拥有
- 2024-10-15 jQuery中CSS简单操作(获取,追加,移除,切换,判断)【406】
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)