JavaScript中为元素加上name属性的方法


Posted in Javascript onMay 09, 2011

今天遇到个小问题, 在构建 DOM 时, IE 中不能通过 element.setAttribute('name', _variable); 和 element.name = _variable; 这样的形式来为元素加上 name 属性, 无论是 IE6 还是 IE7. (IE8 是可以的, 但 IE8rc1 不行)

后来我查看了 MSDN, 得到信息如下:

Internet Explorer 8 and later can set the NAME attribute at run time on elements dynamically created with the createElement method. To create an element with a NAME attribute in earlier versions of Internet Explorer, include the attribute and its value when using the createElement method.

也就是说, 我们必须通过带属性和值的标签来创建有 name 属性的元素. 为求各浏览器兼容良好, 代码可以这样写:
var element = null; 
try { 
// IE6/IE7 构建方式 
element = document.createElement('<input name="radio-button">'); 
} catch (e) { 
// W3C 构建方式 
element = document.createElement('input'); 
element.name = 'radio-button'; 
} 
// 定义其他属性 
element.id = 'radio-1' 
element.type = 'radio';

以前我是一个 Java 开发人员, 实际工作中 JavaScript 的代码量其实不多, 在自己的一些小应用中往往只是小打小闹, 会 (潜意识地) 避开一些可能出问题的地方, 像跨域使用 AJAX, IE 内存泄漏这样的问题很少回去考虑. 但在转做 UED 后, JavaScript 和交互应用肯定会成为我以后的工作重点, 发生大小各异问题的机会相当多 (现在几乎每天都有), 在解决各种问题的过程中, 我痛并快乐着. 本着不瞎搞, 少折腾的原则, 有必要把这些记录一下, 为自己备份, 更能与人分享.
Javascript 相关文章推荐
SeaJS入门教程系列之SeaJS介绍(一)
Mar 03 Javascript
js图片处理示例代码
May 12 Javascript
jQuery使用之设置元素样式用法实例
Jan 19 Javascript
Bootstrap每天必学之日期控制
Mar 07 Javascript
利用transition实现文字上下抖动的效果
Jan 21 Javascript
JavaScript中 this 指向问题深度解析
Feb 21 Javascript
JavaScript实现简单的双色球(实例讲解)
Jul 31 Javascript
ionic2屏幕适配实现适配手机、平板等设备的示例代码
Aug 11 Javascript
微信小程序实现刷脸登录
May 25 Javascript
微信小程序实现列表页的点赞和取消点赞功能
Nov 02 Javascript
js实现json数组分组合并操作示例
Feb 12 Javascript
vue h5移动端禁止缩放代码
Oct 28 Javascript
JavaScript 放大镜 移动镜片效果代码
May 09 #Javascript
JavaScript 放大镜 放大倍率和视窗尺寸
May 09 #Javascript
关于JavaScript的with 语句的使用方法
May 09 #Javascript
JavaScript的parseInt 取整使用
May 09 #Javascript
实现变速回到顶部的JavaScript代码
May 09 #Javascript
Javascript 倒计时源代码.(时.分.秒) 详细注释版
May 09 #Javascript
Chrome Form多次提交表单问题的解决方法
May 09 #Javascript
You might like
初学者入门:细述PHP4的核心Zend
2006/09/05 PHP
文件上传的实现
2006/10/09 PHP
PHP语法速查表
2006/12/06 PHP
php htmlentities和htmlspecialchars 的区别
2008/08/18 PHP
PHP扩展Memcache分布式部署方案
2015/12/06 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
javascript不同页面传值的改进版
2008/09/30 Javascript
jquery.validate分组验证代码
2011/03/17 Javascript
jquery动态改变div宽度和高度
2015/02/09 Javascript
jQuery解析Json实例详解
2015/11/24 Javascript
浅析JavaScript动画模拟拖拽原理
2016/12/09 Javascript
关于iframe跨域POST提交的方法示例
2017/01/15 Javascript
微信小程序的生命周期的详解
2017/10/19 Javascript
Vue调试神器vue-devtools安装方法
2017/12/12 Javascript
详解webpack引入第三方库的方式以及注意事项
2019/01/15 Javascript
Vue 3.0 前瞻Vue Function API新特性体验
2019/08/12 Javascript
Element的el-tree控件后台数据结构的生成以及方法的抽取
2020/03/05 Javascript
工作中常用js功能汇总
2020/11/07 Javascript
[01:06:42]VP vs NewBee Supermajor 胜者组 BO3 第二场 6.5
2018/06/06 DOTA
[38:23]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第二场 11.01
2020/11/02 DOTA
[03:01]完美世界DOTA2联赛PWL S2 集锦第二期
2020/12/03 DOTA
介绍Python的Django框架中的QuerySets
2015/04/20 Python
python实现的多线程端口扫描功能示例
2017/01/21 Python
Django的信号机制详解
2017/05/05 Python
python 将大文件切分为多个小文件的实例
2019/01/14 Python
Python视频编辑库MoviePy的使用
2020/04/01 Python
Python析构函数__del__定义原理解析
2020/11/20 Python
销售辞职报告范文
2014/01/12 职场文书
护理专科自荐书范文
2014/02/18 职场文书
学习优秀共产党员先进事迹思想报告
2014/09/17 职场文书
采购员岗位职责
2015/02/03 职场文书
安全伴我行主题班会
2015/08/13 职场文书
初中化学教学反思
2016/02/22 职场文书
2016年大学生社区服务活动总结
2016/04/06 职场文书
浅谈Nginx 中的两种限流方式
2021/03/31 Servers
攻击最高的10只幽灵系神奇宝贝,坚盾剑怪排第一,第五最为可怕
2022/03/18 日漫