好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

DOM之属性(attribute)和自定义对象属性(property)_html/css_WEB-I

DOM节点有一些属性和对象属性. 有时候我们会把他们搞混淆, 因为他们是相关联的, 但是他们真的是两个不同的东西.

特性

DOM节点是一个对象. 因此它可以存储自定义的对象属性和方法,就像任何的Javascript对象.

下面的例子是指定分配一个对象给document.body的myData对象属性.

document.body.myData = {   name: 'John'}alert(document.body.myData.name) // Johndocument.body.sayHi = function() {   alert(this.nodeName)} document.body.sayHi()  // BODY 

自定义的对象属性和方法仅在Javascript是可以见有效的. 不影响HTML.

同样, 自定义对象属性可以通过for..in来与原生对象属性混合 输出.

document.body.custom = 5var list = []for(var key in document.body) {  list.push(key)}alert(list.join('\n')) 

自定义DOM对象属性:

可以有任何值. 对象属性名称有大小写之分.

不影响HTML

属性

DOM节点提供了下面的标准方法来访问HTML的标签属性.

elem.hasAttribute(name)- 检查属性是否存在

elem.getAttribute(name)- 获取属性的值

elem.setAttribute(name, value)- 设置一个属性

elem.removeAttribute(name)- 移除属性

在小于IE8和IE8兼容模式下,这些属性就表现得不一样:

仅 getAttribute和 setAttribute方法存在.

他们实际上是修改DOM对象属性, 不是属性.

属性和对象属性在IE

对象属性和属性之间的对比:

都是字符串.

名称大小写表现得不一样. 因为HTML属性没有大小写之分.

他们都可以使用innerTHML(除了老版本的IE之外)

可以列出所有的属性数组.

例如, 我们看看下面的HTML结构:

代码名称

>

下面的例子设置一些属性.

   

查看更多关于DOM之属性(attribute)和自定义对象属性(property)_html/css_WEB-I的详细内容...

  阅读:41次