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 特殊字符串
Feb 25 Javascript
js window.print实现打印特定控件或内容
Sep 16 Javascript
js生成随机数的方法实例
Oct 16 Javascript
js实现异步循环实现代码
Feb 16 Javascript
详解React-Native解决键盘遮挡问题(Keyboard遮挡问题)
Jul 13 Javascript
完美解决手机浏览器顶部下拉出现网页源或刷新的问题
Nov 30 Javascript
JS实现将链接生成二维码并转为图片的方法
Mar 17 Javascript
微信小程序自定义对话框弹出和隐藏动画
Jul 19 Javascript
微信小程序实现侧边分类栏
Oct 21 Javascript
js实现内置计时器
Dec 16 Javascript
如何用Node.js编写内存效率高的应用程序
Apr 30 Javascript
Vue+Flask实现图片传输功能
Apr 01 Vue.js
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生成局部唯一识别码LUID的代码
2012/10/06 PHP
PHP获取网页标题的3种实现方法代码实例
2014/04/11 PHP
对象无length属性时IE6/IE7中无法将其转换成伪数组(ArrayLike)
2011/07/31 Javascript
js判断输入是否为数字的具体实例
2013/08/03 Javascript
Jquery Uploadify上传带进度条的简单实例
2014/02/12 Javascript
js调试工具console.log()方法查看js代码的执行情况
2014/08/08 Javascript
jQuery基于BootStrap样式实现无限极地区联动
2016/08/26 Javascript
Javascript使用uploadify来实现多文件上传
2016/11/16 Javascript
浅析js的模块化编写 require.js
2016/12/07 Javascript
JS异步错误捕获的一些事小结
2019/04/26 Javascript
小程序实现横向滑动日历效果
2019/10/21 Javascript
Javascript实现鼠标移入方向感知
2020/06/24 Javascript
python模拟登陆阿里妈妈生成商品推广链接
2014/04/03 Python
python实现的简单文本类游戏实例
2015/04/28 Python
Python中json格式数据的编码与解码方法详解
2016/07/01 Python
Python基于高斯消元法计算线性方程组示例
2018/01/17 Python
Python使用selenium实现网页用户名 密码 验证码自动登录功能
2018/05/16 Python
新年快乐! python实现绚烂的烟花绽放效果
2019/01/30 Python
Python图片的横坐标汉字实例
2019/12/04 Python
Python3 把一个列表按指定数目分成多个列表的方式
2019/12/25 Python
Python Scrapy图片爬取原理及代码实例
2020/06/12 Python
Python+logging输出到屏幕将log日志写入文件
2020/11/11 Python
python 录制系统声音的示例
2020/12/21 Python
纯CSS3实现的8种Loading动画效果
2014/07/05 HTML / CSS
HTML5自定义mp3播放器源码
2020/01/06 HTML / CSS
CHARLES & KEITH台湾官网:新加坡时尚品牌
2019/07/30 全球购物
应聘医学检验人员自荐信
2013/09/27 职场文书
竞聘演讲稿范文
2014/01/12 职场文书
司马光教学反思
2014/02/01 职场文书
机电一体化毕业生自荐信
2014/06/19 职场文书
电子工程求职信
2014/07/17 职场文书
银行保安拾金不昧表扬稿
2015/05/05 职场文书
2016年安全月活动总结
2016/04/06 职场文书
Redis三种集群模式详解
2021/10/05 Redis
VUE之图片Base64编码使用ElementUI组件上传
2022/04/09 Vue.js
vue二维数组循环嵌套方式 循环数组、循环嵌套数组
2022/04/24 Vue.js