在IE下用getAttribute时要小心
作者:Rank 来源:never-online weblog 发布时间:2008-08-21 12:54:00
标签:getAttribute,ie,javascript
在做DHTML时,我们在某些情况下要用setAttribute(attri, value)方法定义元素的attribute。同时与getAttribute(attri)配对来得到相应的自定义attribute的值。
但在IE下要小心。getAttrubite方法,其官方文档里描述它的返回值是这样说的:
Return Value
Variant. Returns a string, number, or Boolean, defined by sAttrName. If an explicit attribute doesn't exist, an empty string is returned. If a custom attribute doesn't exist, null is returned.
返回值
变体。返回一个定义attribute时的字符串,数字,或者布尔值,如果这个已有属性不存在,则是一个空字符串,如果一个自定义的attribute不存在,则返回null。
下面来做个自定义实验
上面的示例可以看到的确如文档中描述的那样,返回值没有异议。
在select控件中,我们可以用selectObject.value来得到或者设置某个控件的值。比如:
<select id="ctlSelect">
<option value="">- please select -</option>
<option value="1">opt1</option>
<option value="2" selected>opt2</option>
<option value="3">opt3</option>
<option value="4">opt4</option>
</select>
<button onclick="document.getElementById('ctlSelect').value=''">set value</button>
但是将上面两个例子(getAttribute与select)结合起来用的话,效果就与我们想象中的不一样了。
下面的例子是一个select联动的效果,也就是选择第一个select,对应的value会赋值得第二个select上。
(下例中select控件第一个选项是空字符串) 当选中第一个选项时,你会发现第二个select中竟没有任何一个选项被选中。与上例我们所写的示例代码相矛盾。
这个bug的解决方法很简单,只需要我们手工强制转型。但这不得不让我怀疑IE里selectObject.value处理机制。
bug虽小,但却是个不大不小的陷阱,一旦你不小心掉了进去,在大量的代码中寻找这个bug着实会让你头痛。
0
投稿
猜你喜欢
- MySQL服务器有几个影响其操作的参数(变量)。如果缺省的参数值不合适,可以将其修改为对服务器运行环境更合适的值。例如,如果您有大量的内存,
- 当然还是要使用FileSystemObject(FSO)来创建了。不过在创建前,要先检查以下目录是否存在,如果存在,就不用创建了: 
- 原文地址:30 Days of Mootools 1.2 Tutorials - Day 8 - Input Filtering Part
- 1、什么是AspJpeg?AspJpeg是一款功能强大的基于Microsoft IIS环境的图片处理组件,AspJpeg可以使用很少的代码在
- 可扩展标记语言 (XML) 是用于描述数据集内容以及应如何将数据输出到设备上或如何在 Web 页上显示数据的语言。标记语言的创建来源于出版商
- 去年曾总结了《IE对CSS样式表的限制和解决方案》中限制的第4条写道“一个CSS文件的不能超过288kb?”,这是一个疑问句,当时没有重现出
- 【译者的话】 网页上的小广告(banner)已经成为一种宣传推广的重要形式,但这些小广告除了版面细小外,图象的表现还受到象素较低等其它因素影
- froglt 的站点:http://www.go2here.net 欢迎转载,请注明出处,未经作者允许,禁止一切商业应用。这是即
- CSS styles和HTML styles有什么区别?HTM style是指自定义HTML标识中一些标签,例如说在HTML中〈B〉〈/B〉
- Truncate是SQL中的一个删除数据表内容的语句,用法是:TRUNCATE TABLE [Table Name]。下面是对Truncat
- 如何用拦截表单的方法上传图片? 看下列代码:<script language="
- 在一个群上看到好几次问到call和apply的作用,function这两个方法的效果大家都很容易理解,但一般很难让人深刻地理解使用它们的时机
- 内容摘要:现在InterNet 越来越成为生活中不可或缺的一部分,制作网页的动态语言也越来越多,主要流行的有以下几种,ASP,PH
- 1.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点;2.会用asp,并不说明你会asp;3.看a
- 今天来说说鄙人对input输入框在处理上的细节处理和心得,其实制作一个符合CSS标准、FF/IE7/IE6等主流浏览器全兼容、符合用户体验的
- 编者注:当讲到了性能优化和案例方面的东西,就要想到如何从开发人员的角度进行了理解,认识SQL是如何执行,以及如何学习高级的SQL,这篇文章对
- TO_NUMBER(char[,'format_model']) 字符转换到数字类型TO_DATE(char[,'f
- 一个asp显示当前日期农历的代码函数,效果 今天是:农历丁亥年(猪)八月十三。调用方便!Function nl()'获取当前系统时间
- 内容摘要:ASP开发人员为了在他们的设计项目中获得更好的性能和可扩展性而不断努力。幸运地是,有许多书籍和站点在这方面提供了很好的建议。但是这
- Eric A. Meyer 对基于 Web 标准的 CSS 与 HTML 绝非一知半解,他是这个领域杰出的专家,曾写过不少 CSS 方面的书