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 相关文章推荐
一个小型js框架myJSFrame附API使用帮助
Jun 28 Javascript
javascript 极速 隐藏/显示万行表格列只需 60毫秒
Mar 28 Javascript
Ext 表单布局实例代码
Apr 30 Javascript
jquery 上下滚动广告
Jun 17 Javascript
jquery插件珍藏(图片局部放大/信息提示框)
Jan 08 Javascript
jquery foreach使用示例
Sep 12 Javascript
JavaScript中伪协议 javascript:使用探讨
Jul 18 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
Nov 19 Javascript
详解如何在React组件“外”使用父组件的Props
Jan 12 Javascript
bootstrap 日期控件 datepicker被弹出框dialog覆盖的解决办法
Jul 09 Javascript
详解elementUI中input框无法输入的问题
Apr 27 Javascript
Vue自定义组件双向绑定实现原理及方法详解
Sep 03 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
一个可查询所有表的“通用”查询分页类
2006/10/09 PHP
php中的登陆login
2007/01/18 PHP
php Ajax乱码
2008/04/09 PHP
PHP base64+gzinflate压缩编码和解码代码
2008/10/03 PHP
php 模拟POST|GET操作实现代码
2010/07/20 PHP
php实现图片文件与下载文件防盗链的方法
2014/11/03 PHP
PHP常用的排序和查找算法
2015/08/06 PHP
php语言的7种基本的排序方法
2020/12/28 PHP
Yii视图CGridView列表用法实例分析
2016/07/12 PHP
javascript cookies操作集合
2010/04/12 Javascript
js去除重复字符串两种实现方法
2013/01/09 Javascript
javascript中undefined与null的区别
2015/08/16 Javascript
详解JavaScript逻辑And运算符
2015/12/04 Javascript
js轮播图代码分享
2016/07/14 Javascript
JS实现异步上传压缩图片
2017/04/22 Javascript
原生js实现密码输入框值的显示隐藏
2017/07/17 Javascript
JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码
2017/09/23 jQuery
JS数组Object.keys()方法的使用示例
2019/06/05 Javascript
vue父子组件的通信方法(实例详解)
2019/11/10 Javascript
python实现通过shelve修改对象实例
2014/09/26 Python
Python3实现带附件的定时发送邮件功能
2020/12/22 Python
PyQt5 界面显示无响应的实现
2020/03/26 Python
CSS实现限制字数功能当对象内文本溢出时显示省略标记
2014/08/20 HTML / CSS
HTML5新特性之语义化标签
2017/10/31 HTML / CSS
澳大利亚床上用品、浴巾和家居用品购物网站:Bambury
2020/04/16 全球购物
高三学生评语大全
2014/04/25 职场文书
幼儿教师师德演讲稿
2014/05/06 职场文书
大学生简历求职信
2014/06/24 职场文书
安全施工责任书
2014/08/25 职场文书
2014年学校安全工作总结
2014/11/13 职场文书
导游欢迎词范文
2015/01/23 职场文书
邀请函怎么写
2015/01/30 职场文书
校园安全教育心得体会
2016/01/15 职场文书
《半截蜡烛》教学反思
2016/02/19 职场文书
解决ObjectMapper.convertValue() 遇到的一些问题
2021/06/30 Java/Android
golang三种设计模式之简单工厂、方法工厂和抽象工厂
2022/04/10 Golang