元素的特性在DOM 中用Attr 类型的节点表示。在全部浏览器中都能够訪问 Attr 类型的构造函数与原型。

从技术上讲,Attr 类型节点 就是指,元素的 Attrbutes 属性 中的节点。构造器函数为; function Attr() { [native code] }

虽然 也是称之为节点,可是:Attr 类型的节点不是文档树的一部分。

Attr 类型 节点 的特性:

  • nodeType:2
  • nodeName: 值为特性的名称
  • nodeValue: 值为特性的值
  • prasentNode:null
  • HTML中,不支持子节点
  • XML中,支持 Text 以及 EntityReference  两种类型节点。

操作Attr 类型节点最经常使用的三个方法;

  • getAttribute()
  • setAttribute()
  • removeAttribute()

另外还有,getAttributeNode(),setAttributeNode(),removeChild()

Attr 类型节点 有三个属性; name, value (值等同 nodeValue),specified( specified 是一个布尔值。用以差别特

性是在代码中指定的,还是默认的。)

创建 Attr 类型节点 document.createAttribute() ,创建之后 仅仅能使用 el.setAttribute(),方法将特性加入到元素。

var arr = document.createAttribute('align';)
arr.value = "center";
element.setAttributeNode(arr); //必须使用setAttributeNode() 方法

不建议直接訪问特性节点。最好通过上面介绍的方法訪问属性节点。

另一点要注意: 直接给DOM 加入属性,不会成为html 元素的特性。

div.mycolor = "red"; //不会成为 该 div 元素的 特性.
alert(div.getAttribute("mycolor")); //null(IE 除外)

全栈JavaScript之路(十一)学习 Attr 类型 节点的更多相关文章

  1. 全栈JavaScript之路(七)学习 Comment 类型节点.

    凝视 在DOM中,用 Comment 类型 节点表示, 构造器函数为:  function Comment(){[native code]}. comment 节点的特征: nodeType:8 no ...

  2. 全栈JavaScript之路(十)学习 DocumentFragment 类型 节点

    DocumentFragment 类型节点,代表一个文档片段,是一种轻量级的'文档' 对象.能够包括其他类型节点,并有能力訪问.操作当中的节点,可是在文档中没有文档标记,相当于是一个页面不可见的容器. ...

  3. 全栈JavaScript之路( 二十二 )IE 专有扩展——文档模式

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/hatmore/article/details/37611911 ie8 引入了一个新的概念.&quo ...

  4. 全栈JavaScript之路( 二十五 )訪问元素的样式

    不论什么支持style 特性的元素在 ,在其DOM  节点 对象中都有一个 style 属性与之相应. 这个style 对象是 CSSStyleDeclaration类型的实例,包括着html sty ...

  5. 全栈JavaScript之路(十八)HTML5 自己定义数据属性

    HTML5 规范规定,用户能够为元素 自己定义非标准属性, 可是要加入 data- 前缀. 目的是为元素提供与页面渲染无关的信息.或者语义信息.这些属性名能够任意加入,仅仅要带上前缀 data- 开头 ...

  6. 全栈JavaScript之路(十七)HTML5 新增字符集属性

    HTML5 添加�了几个文档字符集属性. document.charset : 表示文档的实际使用的字符集. document.defaultCharset: 表示默认的字符集,跟浏览器以及操作系统设 ...

  7. 全栈JavaScript之路(十九)HTML5 插入 html标记 ( 一 )innerHTML 与outerHTML

    在须要给文档插入大量的html 标记下.通过DOM操作非常麻烦,你不仅要创建一系列的节点,并且还要小心地依照顺序把它们接结起来. 利用html 标签 插入技术,能够直接插入html代码字符串,简单.高 ...

  8. 全栈JavaScript之路(十三)了解 ElementTraversal 规范

    支持Element Traversal 规范的浏览器有IE 9+.Firefox 3.5+.Safari 4+.Chrome 和Opera 10+. 对于元素间的空格,在IE9之前.都不会返回文档节点 ...

  9. 全栈JavaScript之路(十四)HTML5 中与class属性相关的扩充

    1. getElementByClassName() :支持getElementsByClassName()方法的浏览器有IE 9+.Firefox 3+.Safari 3.1+.Chrome 和 O ...

随机推荐

  1. Vue中如何在组件内部实现一个双向数据绑定?

    假设有一个输入框组件,用户输入时,同步父组件页面中的数据. 具体思路:父组件通过props传值给子组件,子组件通过 $emit 来通知父组件修改相应的props值,具体实现如下: import Vue ...

  2. js实现点击复制网页内容(基于clipboard.js)

    浏览网页过程中会遇到点击复制链接地址的情况,下面就介绍一种实现方法,该方法是基于clipboard.js: 官网地址:https://clipboardjs.com/: clipboard.js使用比 ...

  3. windows服务器剪贴板不能共用的解决办法

    远程桌面无法使用剪贴板共享纯文本的解决方法========================================以下操作须在远程桌面上操作,本地机没用的!================== ...

  4. javascript-知识点集合

    第三课.JavaScript的语法与关键字 1.JavaScript的语法 字符串.数字.布尔.数组.对象.Null.Undefined 1.js的变量区分大小写 username userName ...

  5. 洛谷——P3398 仓鼠找sugar

    https://www.luogu.org/problem/show?pid=3398#sub 题目描述 小仓鼠的和他的基(mei)友(zi)sugar住在地下洞穴中,每个节点的编号为1~n.地下洞穴 ...

  6. ruby on rails错误undefined method `title' for nil:NilClass

    首先搞清楚这句话,在 Ruby 中,方法分为 public.private 和 protected 三种,仅仅有 public 方法才干作为控制器的动作. 我的出错的代码例如以下: controlle ...

  7. JDBC-连接数据库代码

    package com.zxc.connection; import java.sql.Connection; import java.sql.DriverManager; public class ...

  8. Go语言Slice操作.

    1.基本使用方法: a = append(a, b...) 比如:list = appened(list,[]int{1,2,3,4}...) 能够用来合并两个列表. 不用这样了 :list := m ...

  9. 软工视频总结Part Three

    软件需求分析 任务 解决目标系统"做什么"问题 深入描写叙述软件的功能和性能 确定软件涉及到的约束和软件接口 定义软件的其它有效需求 特点 一致性.完整性.限时性.有效性.可验证性 ...

  10. Android使用有道翻译API实如今线翻译功能

    在Android应用中,加入在线翻译的功能,这里调用的是有道翻译的API. 使用有道翻译API.首先要申请一个key,申请地址为:path=data-mode">有道翻译API申请地址 ...