`
zhouyrt
  • 浏览: 1158990 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

IE9分离attribute与property

阅读更多

 

IE6/7/8(Q)中元素的attribute与property内部实现是不分的,IE8部分分离,IE9实现彻底分离了。

 

如下:

<div id="myId" class="cls" userAttribute="test1">

<script type="text/javascript">

var div = document.getElementById('myId');	
div.userProperty = 'test2';

alert(div.attributes.length); // IE6/7/8 -> 4 , [id,class,userAttribute,userProperty]
							  // IE9 -> 3, [id,class,userAttribute]

alert(div.userAttribute); // IE6/7/8 -> 'test1'
						  // IE9 -> undefined
						  
alert(div.getAttribute('userAttribute')); // IE6/7/8/9 -> 'test1'

alert(div.getAttribute('userProperty')); // IE6/7/8 -> 'test2'
										 // IE9 -> null
</script>	

 

注:Firefox/Safari/Chrome/Opera的表现同IE9。 

 

关于attribute和property的详细分析强烈推荐w3help网站,猛击:http://w3help.org/zh-cn/causes/SD9006

 

 

分享到:
评论
4 楼 grandboy 2010-09-16  
如上各位分析,那应该在IE8下运行的程序没有问题,在IE9下应该也没有问题了?
3 楼 LonelyStar 2010-09-15  
又要写更多的兼容代码了。。。
2 楼 hite 2010-09-15  
attribute和property的区别和
library 和framework一样困惑了好久!

property我觉得应该从“财产;性质,性能;所有权”来理解,它是成员,part of ,belong to的概念

attribute——“把…归于;归属”,也就是说以前不属于而现在属于的意思。

library 和framework就无解了,我完全不能区分,mootools是框架吗,jquery是库吗?

ps:刚刚看完上面两个链接,找到根。
“attribute是dom元素在文档中作为html标签拥有的属性,property就是dom元素在js中作为对象拥有的属性”
1 楼 cloudgamer 2010-09-08  
其实在ie8中已经把attribute和property区分开了,但估计是为了兼容,并没有做彻底
例如getAttribute("innerHTML")返回的是null,说明innerHTML不再是attribute;setAttribute("class",x)修改的是attribute,不再是给dom元素添加一个莫名其妙的class属性
我在这里的attribute/property部分就研究过

相关推荐

    Property和Attribute的区别

    "Property和Attribute的区别" 在面向对象编程(Object-Oriented Programming)中,Property和Attribute都是常用的概念,但是它们之间存在着本质的区别。Property是指类向外提供的数据区域,是智能的字段,其中有get...

    javascript中attribute和property的区别详解

    在IE6-7中,`attribute` 的处理方式与标准浏览器有所不同,可能导致访问和修改 `attribute` 的行为不一致。 另一方面,`property` 指的是JavaScript对象的属性,当DOM元素被视为JavaScript对象时,`property` 就是...

    shiyou00#knowledge#JavaScript中attribute和property的区别以及最佳实践1

    前言使用JavaScript操作DOM元素时往往涉及到两个概念:attribute 和 property。document.getElementById('te

    JS中DOM元素的attribute与property属性示例详解

    一、’表亲戚’:attribute和property 为什么称attribute和property为’表亲戚’呢?因为他们既有共同处,也有不同点. attribute 是 dom 元素在文档中作为 html 标签拥有的属性; property 是 dom 元素在 js 中作为...

    C#中Property和Attribute的区别实例详解

    本文实例分析了C#中Property和Attribute的区别。分享给大家供大家参考。具体分析如下: 在C#中有两个属性,分别为Property和Attribute,两个的中文意思都有特性、属性之间,但是用法上却不一样,为了区别,本文暂把...

    propertyGrid 属性处理演示demo

    1. **数据绑定**:`PropertyGrid`可以通过`DataSource`属性与任何支持`ITypeDescriptorContext`接口的对象进行数据绑定。你可以将自定义类实例传递给它,这样`PropertyGrid`就会自动列出类中所有公开的属性。 2. **...

    JavaScript中property和attribute的区别详细介绍

    不同的浏览器可能在处理`property`和`attribute`时存在差异,尤其是在早期版本的IE中,这需要开发者在编写代码时特别注意。 了解这些区别后,开发者在处理HTML元素时能够更准确地控制其行为。在操作元素的属性时,...

    C#程序设计-3期(KC008) KC008110100015-C#中property与attribute的区别,他们各有什么用

    在C#编程中,`property`和`attribute`是两个重要的概念,它们各自有特定的用途,理解并熟练掌握它们对于编写高效、可维护的代码至关重要。 首先,我们来看`property`。在C#中,`property`是一种封装机制,它提供了...

    .net中attribute实现方法调用拦截(就是aop)

    AOP(面向切面编程)是一种编程范式,它允许程序员将关注点分离,将横切关注点(如日志、事务管理、性能度量等)从核心业务逻辑中解耦出来。在.NET中,我们可以通过Attribute来实现AOP的功能,这就是标题中提到的...

    Attribute在.net编程中的应用(全).doc

    Attribute与Property的区别 虽然在中文里“属性”这个词有时会被用来同时指代Property和Attribute,但实际上两者有着本质的不同: - **Property** 是一种特殊的.NET成员,它允许以类似字段的方式访问对象的数据,...

    Attribute标记属性_资料收集

    .NET框架允许我们控制Attribute的可见性,比如`Assembly`, `Module`, `Class`, `Struct`, `Enum`, `Constructor`, `Method`, `Property`, `Field`, `Event`, `Interface`, `Parameter`, `Delegate`, `Return`等。...

    Attribute在.net编程中的应用

    首先,我们需要理解Attribute与类的property成员之间的区别。虽然两者在中文中都被称为“属性”,但在.NET中它们是完全不同的概念。Property是类的一个成员,用于存储和检索数据,而Attribute则是用于附加信息到代码...

    WinForm PropertyGrid用法

    C#中的特性(Attribute)可以用来控制`PropertyGrid`中属性的显示方式。例如: - `DisplayNameAttribute`:改变属性的显示名称。 - `DescriptionAttribute`:提供属性的描述信息,会在属性下方以小字显示。 - `...

    c#的attribute实例源码

    C#的Attribute是一种元数据,它允许我们向代码添加额外的信息,这些信息可以在编译时或运行时被程序集、编译器、反射或其他工具使用。Attribute不是代码的一部分,它们不直接影响程序的执行,但提供了方便的方式来...

    __attribute__

    ### __attribute__ 在 C 语言中的使用方法 #### 一、引言 在 C 语言中,`__attribute__` 是 GNU 编译器集合 (GCC) 的一个扩展特性,它允许开发人员向函数、变量或类型添加元数据,从而增强编译时的错误检查能力并...

Global site tag (gtag.js) - Google Analytics