`
zhouyrt
  • 浏览: 1183408 次
  • 性别: 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部分就研究过

相关推荐

    WPF揭秘(中文版)第二章 XMAL揭秘.pdf

    - **前后端分离**:使用XAML时,前端显示与后端逻辑是分离的,便于维护。 - **即时预览**:可以直接将XAML代码粘贴到诸如XamlPad之类的工具中进行即时预览,无需编译。 - **通用性**:XAML是一种WPF相关工具都会使用...

    最新版面试宝典(1).pdf

    - property和attribute的区别。 - 原生JS实现倒计时项目的步骤。 - typeof运算符返回的数据类型。 - null和undefined的区别。 - new操作符的作用及创建对象的原理。 - 深拷贝与浅拷贝的区别和实现方法。 - 回...

    jquery 1.6.4

    2. **attr() 与 prop() 的分离** 在jQuery 1.6.4中,`attr()`和`prop()`方法被明确地分开。`attr()`主要用于获取或设置HTML元素的属性(attribute),如`id`或`class`。而`prop()`则用于处理DOM元素的属性...

    JavaScript DOM 编程艺术

    #### 六、分离结构与行为 - **无侵入式 JavaScript**:确保 JavaScript 代码与 HTML 结构相分离,通常通过数据属性或类来标识可操作元素。 - **渐进增强**:先构建基本的功能,然后逐步添加更复杂的交互层。 - **...

    jQuery教程

    6. **代码分离**:使得 JavaScript 代码与 HTML 结构完全分离,便于代码的维护和管理。 7. **丰富的插件库**:拥有大量的第三方插件,可以实现各种高级功能,如表单验证、Tab 导航、拖放效果等。 #### 二、jQuery的...

    CSS基础知识.pdf

    - CSS允许开发者将样式和结构分离,使内容和表现形式分开,提高网页的可维护性和可访问性。 - CSS可以应用于各种设备,包括电脑、手机、平板等,支持响应式设计。 2. **浏览器兼容性** - 不同浏览器对CSS的支持...

    wtwd:“决定风的地方”的样式表

    CSS控制网页的布局和外观,使得开发者能够将内容与表现分离,提高了网站的可维护性和可访问性。"决定风的地方"可能是指一个项目或者网站的名字,而“wtwd:“决定风的地方”的样式表”可能是该项目或网站的定制CSS...

Global site tag (gtag.js) - Google Analytics