JavaScript中的属性和属性是否相同?

时间:2013-03-21 16:43:52

标签: javascript dom html4

IE 8及以下版本对属性和属性进行了类似处理。

他们的意思是一样的吗?

3 个答案:

答案 0 :(得分:0)

What is the difference between attribute and property?对语义进行了相当多的讨论......以及术语的不同语言用法......

答案 1 :(得分:0)

@all认为他们是一样的:

NO。

HTML元素的属性和属性不相同。

从DOM的角度来看: 属性是私有变量,属性存储在存储为HTML元素的childNode的NamedNodeMap中

从JavaScript的角度来看(实施): var elem = document.getElementById(“ID”);

elem.prop = somevalue; //访问属性

elem.getAttribute( “的attributeName”); //访问属性:getters elem.setAttribute( “的attributeName”, “值”); //访问属性:setters

有关实施细节,请参阅我的其他答案。

答案 2 :(得分:-1)

DOM中的属性和属性不相同。但是,在IE 8及以下版本中进行了类似的处理。

我遇到了跨浏览器兼容性的问题。

问题:自定义属性作为IE4的HTML4 / JavaScript中的属性进行访问。需要使HTML与Chrome,Safari和IE9兼容。

解决方案:可以迭代元素以检查自定义属性并将其添加为属性。

示例代码:

var propertyName = obj.attributes [index] .nodeName; //(属性名称不区分大小写) obj [propertyName] = value; //(检查obj.customAttribute的实现)

提示: 与IE 8及更低版本不同,IE 9及更高版本已解决了该问题,并以不同方式处理属性和属性。