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 相关文章推荐
JavaScript replace(rgExp,fn)正则替换的用法
Mar 04 Javascript
JSON语法五大要素图文介绍
Dec 04 Javascript
javascript 实现键盘上下左右功能的小例子
Sep 15 Javascript
js函数内变量的作用域分析
Jan 12 Javascript
JavaScript开发Chrome浏览器扩展程序UI的教程
May 16 Javascript
jQuery实现的选择商品飞入文本框动画效果完整实例
Aug 10 Javascript
angular 用拦截器统一处理http请求和响应的方法
Jun 08 Javascript
js技巧之十几行的代码实现vue.watch代码
Jun 09 Javascript
vue后台管理之动态加载路由的方法
Aug 13 Javascript
详解vue中使用protobuf踩坑记
May 07 Javascript
vuex 动态注册方法 registerModule的实现
Jul 03 Javascript
JS中FileReader类实现文件上传及时预览功能
Mar 27 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
从MySQL数据库表中取出随机数据的代码
2007/09/05 PHP
ajax php 实现写入数据库
2009/09/02 PHP
PHP 实现公历日期与农历日期的互转换
2017/09/13 PHP
快速解决PHP调用Word组件DCOM权限的问题
2017/12/27 PHP
HTML上传控件取消选择
2013/03/06 Javascript
js跨域问题浅析及解决方法优缺点对比
2014/11/08 Javascript
node.js中的http.request.end方法使用说明
2014/12/10 Javascript
深入理解JavaScript系列(50):Function模式(下篇)
2015/03/04 Javascript
jQuery实现html表格动态添加新行的方法
2015/05/28 Javascript
JS功能代码集锦
2016/05/04 Javascript
使用vue.js实现checkbox的全选和多个的删除功能
2017/02/17 Javascript
最全的JavaScript开发工具列表 总有一款适合你
2017/06/29 Javascript
js中自定义react数据验证组件实例详解
2018/10/19 Javascript
Vue表单绑定的实例代码(单选按钮,选择框(单选时,多选时,用 v-for 渲染的动态选项)
2019/05/13 Javascript
python通过apply使用元祖和列表调用函数实例
2015/05/26 Python
Eclipse中Python开发环境搭建简单教程
2016/03/23 Python
Python zip()函数用法实例分析
2018/03/17 Python
Python利用openpyxl库遍历Sheet的实例
2018/05/03 Python
python3使用SMTP发送简单文本邮件
2018/06/19 Python
对Python 内建函数和保留字详解
2018/10/15 Python
PyQt 图解Qt Designer工具的使用方法
2019/08/06 Python
Python进程池Pool应用实例分析
2019/11/27 Python
基于python代码批量处理图片resize
2020/06/04 Python
keras Lambda自定义层实现数据的切片方式,Lambda传参数
2020/06/11 Python
jupyter使用自动补全和切换默认浏览器的方法
2020/11/18 Python
饿了么订餐官网:外卖、网上订餐
2019/06/28 全球购物
英国计算机商店:Technextday
2019/12/28 全球购物
荷兰家电销售网站:Welhof
2020/12/08 全球购物
软件测试面试题
2014/01/05 面试题
Servlet如何得到服务器的信息
2015/12/22 面试题
新入职员工工作总结
2015/10/15 职场文书
小学英语新课改心得体会
2016/01/22 职场文书
react国际化react-intl的使用
2021/05/06 Javascript
使用Oracle跟踪文件的问题详解
2021/06/28 Oracle
详细聊聊vue中组件的props属性
2021/11/02 Vue.js
Java 死锁解决方案
2022/05/11 Java/Android