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 相关文章推荐
基于jquery的inputlimiter 实现字数限制功能
May 30 Javascript
Javascript 中的 call 和 apply使用介绍
Feb 22 Javascript
Javascript 是你的高阶函数(高级应用)
Jun 15 Javascript
详解AngularJS的通信机制
Jun 18 Javascript
浅谈javascript中的DOM方法
Jul 16 Javascript
javascript父子页面通讯实例详解
Jul 17 Javascript
js给table赋值的实例代码
Oct 13 Javascript
vue开发调试神器vue-devtools使用详解
Jul 13 Javascript
Angular.js中$resource高大上的数据交互详解
Jul 30 Javascript
layui使用form表单实现post请求页面跳转的方法
Sep 14 Javascript
解决vue自定义全局消息框组件问题
Nov 22 Javascript
vue实现数据控制视图的原理解析
Jan 07 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
深入php list()函数的详解
2013/06/05 PHP
PHP查找与搜索数组元素方法总结
2015/06/12 PHP
php版微信自动登录并获取昵称的方法
2016/09/23 PHP
PHP实现限制IP访问及提交次数的方法详解
2017/07/17 PHP
Eclipse PHPEclipse 配置的具体步骤
2017/08/08 PHP
自写的一个jQuery圆角插件
2010/10/26 Javascript
js分解url参数(面向对象-极简主义法应用)
2012/08/09 Javascript
JavaScript中几种排序算法的简单实现
2015/07/29 Javascript
bootstrap-treeview自定义双击事件实现方法
2016/01/09 Javascript
confirm确认对话框的实现方法总结
2016/06/17 Javascript
浅谈JS继承_借用构造函数 &amp; 组合式继承
2016/08/16 Javascript
JS求解三元一次方程组值的方法
2017/01/03 Javascript
jQuery实现的省市联动菜单功能示例【测试可用】
2017/01/13 Javascript
JavaScript实现的贝塞尔曲线算法简单示例
2018/01/30 Javascript
教你30秒发布一个TypeScript包到NPM的方法步骤
2019/07/22 Javascript
iSlider手机端图片滑动切换插件使用详解
2019/12/24 Javascript
vue实现放大镜效果
2020/09/17 Javascript
[03:17]2014DOTA2 国际邀请赛中国区预选赛 四强专访
2014/05/23 DOTA
Python读取Json字典写入Excel表格的方法
2018/01/03 Python
python实现外卖信息管理系统
2018/01/11 Python
Python rstrip()方法实例详解
2018/11/11 Python
Python GUI编程完整示例
2019/04/04 Python
python实现的生成word文档功能示例
2019/08/23 Python
OpenCV模板匹配matchTemplate的实现
2019/10/18 Python
简单了解Django ORM常用字段类型及参数配置
2020/01/07 Python
ansible-playbook实现自动部署KVM及安装python3的详细教程
2020/05/11 Python
html5定制表单_动力节点Java学院整理
2017/07/11 HTML / CSS
Html5嵌入钉钉的实现示例
2020/06/04 HTML / CSS
德国鞋子网上商店:Omoda.de
2017/03/31 全球购物
日本最大的药妆连锁店:Matsukiyo松本清药妆店
2017/11/23 全球购物
英国广泛的照明产品网站:Lights4living
2018/01/28 全球购物
法院实习人员自我鉴定
2013/09/26 职场文书
澳大利亚商务邀请函
2014/01/17 职场文书
小学生评语大全
2014/04/18 职场文书
教师党的群众路线教育实践活动学习笔记
2014/11/05 职场文书
使用springMVC所需要的pom配置
2021/09/15 Java/Android