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获取iframe中的dom对象(两种方法)
Jul 02 Javascript
JavaScript中的some()方法使用详解
Jun 09 Javascript
解决node.js安装包失败的几种方法
Sep 02 Javascript
jQuery ajaxForm()的应用
Oct 14 Javascript
js无提示关闭浏览器窗口的两种方法分析
Nov 06 Javascript
jQuery animate()实现背景色渐变效果的处理方法【使用jQuery.color.js插件】
Mar 15 Javascript
javascript获取指定区间范围随机数的方法
Sep 08 Javascript
手动用webpack搭建第一个ReactApp的示例
Apr 11 Javascript
jQuery easyui datagird编辑行删除行功能的实现代码
Sep 20 jQuery
VuePress 静态网站生成方法步骤
Feb 14 Javascript
vue-cli单页面预渲染seo-prerender-spa-plugin操作
Aug 10 Javascript
vue+swiper实现左右滑动的测试题功能
Oct 30 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获取URL中带#号等特殊符号参数的解决方法
2014/09/02 PHP
功能强大的php文件上传类
2016/08/29 PHP
php使用FFmpeg接口获取视频的播放时长、码率、缩略图以及创建时间
2016/11/07 PHP
利用laravel+ajax实现文件上传功能方法示例
2017/08/13 PHP
封装好的省市地区联动控件附下载
2007/08/13 Javascript
被jQuery折腾得半死,揭秘为何jQuery为何在IE/Firefox下均无法使用
2010/01/22 Javascript
jquery属性选择器not has怎么写 行悬停高亮显示
2013/11/13 Javascript
优化javascript的执行效率一些方法总结
2013/12/25 Javascript
jQuery插件Tmpl的简单使用方法
2015/04/27 Javascript
关于javascript中dataset的问题小结
2015/11/16 Javascript
jQuery Uploadify 上传插件出现Http Error 302 错误的解决办法
2015/12/12 Javascript
Node.js读写文件之批量替换图片的实现方法
2016/09/07 Javascript
关于webuploader插件使用过程遇到的小问题
2016/11/07 Javascript
Bootstrap基本插件学习笔记之模态对话框(16)
2016/12/08 Javascript
Vue.js计算属性computed与watch(5)
2016/12/09 Javascript
javascript实现简易计算器
2017/02/01 Javascript
微信小程序之MaterialDesign--input组件详解
2017/02/15 Javascript
使用bat打开多个cmd窗口执行gulp、node
2017/02/17 Javascript
angularjs中回车键触发某一事件的方法
2017/04/24 Javascript
vue 多入口文件搭建 vue多页面搭建的实例讲解
2018/03/12 Javascript
VUE+elementui面包屑实现动态路由详解
2019/11/04 Javascript
JavaScript实现图片放大预览效果
2020/11/02 Javascript
[50:28]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs KG
2018/04/01 DOTA
[56:00]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第二场
2018/04/10 DOTA
python图像处理之反色实现方法
2015/05/30 Python
Python使用Beautiful Soup包编写爬虫时的一些关键点
2016/01/20 Python
python实现括号匹配的思路详解
2018/08/23 Python
django解决跨域请求的问题
2018/11/11 Python
Python 实现输入任意多个数,并计算其平均值的例子
2019/07/16 Python
python基于event实现线程间通信控制
2020/01/13 Python
Python操作Excel的学习笔记
2021/02/18 Python
super关键字的用法
2012/04/10 面试题
企业为何需要商业计划书
2013/12/26 职场文书
学期自我评价
2014/01/27 职场文书
工作鉴定评语
2014/05/04 职场文书
导游词之河北邯郸
2019/09/12 职场文书