document.createElement()用法及注意事项

阿三家的兔子

阿三家的兔子

2016-02-20 00:44

想不想get新技能酷炫一下,今天图老师小编就跟大家分享个简单的document.createElement()用法及注意事项教程,一起来看看吧!超容易上手~

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)查看关于 createElement 的文章

今天处理了一个日期选择器的ie和ff的兼容问题,本来这种情况就很难找错误,找了好久才把错误定位到js中创建元素的方法document.createElement(),这个方法在ie下支持这样创建元素

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)var inputObj = document.createElement("input type='text' size='8' style='border:0px;border-bottom:2px solid #c0c0c0;' " readonly ");
但是这样的情况在ff下是不兼容的。
还有就是特别注意input元素的创建:与 input 有关的元素有很多,比如:checkbox、radio、submit、reset...,因此创建 input 是个很特殊的用法。
创建不同的 input 正确的做法是:
div id="board"/div

script type="text/javascript"
!--
var board = document.getElementById("board");
var e = document.createElement("input");
e.type = "radio"; //紧接着上一行写
var obj = board.appendChild(e);
obj.checked = true;
//如下写法也是正确的:
//e.checked = true;
--
/script
针对 input,在 Netscape、Opera 和 Firefox 中 e.type 既可以在 appendChild 之前,也可以在其之后。但在 IE 中 type 属性必须在前,其它属性必须在后。

IE 创建元素,还有一个特点,就是可以连同属性一同创建,比如:var e = document.createElement("input type='radio' name='r' value='1' /"); 这在其它浏览器中是不行的,所以我们也不支持。

总结:
针对非 input 元素,各浏览器中,既可以把对元素属性的改变写在显示元素(insertBefore 或 appendChild)之前,也可以在其后。
针对 input 元素,为了兼容 IE,type 属性写在显示元素(insertBefore 或 appendChild)之前,其它属性写在其后。

推荐:
除了 input 元素的 type 属性写在显示元素(insertBefore 或 appendChild)之前外,其它属性都写在显示元素之后。
改变属性时,对写在显示元素(insertBefore 或 appendChild)之前的用 createElement 的返回值,对写在显示元素之后的用 insertBefore 或 appendChild 的返回值。
展开更多 50%)
分享

猜你喜欢

document.createElement()用法及注意事项

Web开发
document.createElement()用法及注意事项

动态加载js文件 document.createElement

Web开发
动态加载js文件 document.createElement

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

SET NOCOUNT的用法和注意事项

编程语言 网络编程
SET NOCOUNT的用法和注意事项

治疗方法及注意事项

电脑网络
治疗方法及注意事项

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

《饥荒》注意事项及心得

饥荒
《饥荒》注意事项及心得

购房流程及注意事项 买房流程以及注意事项

买房 购房
购房流程及注意事项 买房流程以及注意事项

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

详解Javascript匿名函数的使用

详解Javascript匿名函数的使用

JavaScript教程:判断日期正确与否的函数

JavaScript教程:判断日期正确与否的函数
下拉加载更多内容 ↓