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的一种模块模式
Sep 08 Javascript
jquery.Jwin.js 基于jquery的弹出层插件代码
May 23 Javascript
详解Node.js access_token的获取、存储及更新
Jun 20 Javascript
js判断用户是输入的地址请求的路径(实例讲解)
Jul 18 Javascript
Vue渲染函数详解
Sep 15 Javascript
Javascript中将变量转换为字符串的三种方法
Sep 19 Javascript
JavaScript实现计算多边形质心的方法示例
Jan 31 Javascript
JS实现区分中英文并统计字符个数的方法示例
Jun 09 Javascript
vue中,在本地缓存中读写数据的方法
Sep 21 Javascript
vue解决弹出蒙层滑动穿透问题的方法
Sep 22 Javascript
微信小程序实现音乐播放器
Nov 20 Javascript
webpack的 rquire.context用法实现工程自动化的方法
Feb 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读取txt文件的内容并赋值给数组的代码
2011/11/03 PHP
php阻止页面后退的方法分享
2014/02/17 PHP
php实现读取超大文件的方法
2014/07/28 PHP
WordPress中缩略图的使用以及相关技巧
2015/11/24 PHP
HTML中嵌入PHP的简单方法
2016/02/16 PHP
PHP计算近1年的所有月份
2017/03/13 PHP
jquery插件制作 表单验证实现代码
2012/08/17 Javascript
javascript五图轮播切换实用版
2012/08/17 Javascript
解决javascript:window.close()在chrome,Firefox下失效的问题
2013/05/07 Javascript
JQuery插件iScroll实现下拉刷新,滚动翻页特效
2014/06/22 Javascript
js 通过cookie实现刷新不变化树形菜单
2014/10/30 Javascript
node.js中的http.request方法使用说明
2014/12/14 Javascript
javascript实现链接单选效果的方法
2015/05/13 Javascript
异步JS框架的作用以及实现方法
2015/10/29 Javascript
JavaScript实现清空(重置)文件类型INPUT元素值的方法
2016/11/17 Javascript
Vue自定义事件(详解)
2017/08/19 Javascript
javascript与PHP动态往类中添加方法对比
2018/03/21 Javascript
详解Vue-cli webpack移动端自动化构建rem问题
2018/04/07 Javascript
vue.js 图片上传并预览及图片更换功能的实现代码
2018/08/27 Javascript
微信小程序开发中var that =this的用法详解
2020/01/18 Javascript
微信小程序实现上传照片代码实例解析
2020/08/04 Javascript
vue绑定数字类型 value为数字的实例
2020/08/31 Javascript
[52:52]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第三局
2016/02/27 DOTA
[01:20:47]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第一场 1月19日
2021/03/11 DOTA
[01:19:33]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第一场 2月2日
2021/03/11 DOTA
Python脚本实现12306火车票查询系统
2016/09/30 Python
Python实现生成随机日期字符串的方法示例
2017/12/25 Python
Python实现进程同步和通信的方法
2018/01/02 Python
简单了解python中对象的取反运算符
2019/07/01 Python
django 实现将本地图片存入数据库,并能显示在web上的示例
2019/08/07 Python
python输出pdf文档的实例
2020/02/13 Python
JD Sports法国:英国篮球和运动时尚的领导者
2017/09/28 全球购物
大学生的应聘自我评价
2013/12/13 职场文书
简易离婚协议书(范本)
2014/10/25 职场文书
聊聊JS ES6中的解构
2021/04/29 Javascript
Java Spring Lifecycle的使用
2022/05/06 Java/Android