文章插图
文章插图
今天处理了一个日期选择器的ie和ff的兼容问题,本来这种情况就很难找错误,找了好久才把错误定位到js中创建元素的方法document.createElement(),这个方法在ie下支持这样创建元素
【document.createElement代码的用法及注意事项】
但是这样的情况在ff下是不兼容的 。
还有就是特别注意input元素的创建:与 input 有关的元素有很多,比如:checkbox、radio、submit、reset...,因此创建 input 是个很特殊的用法 。
创建不同的 input 正确的做法是:
针对 input,在 Netscape、Opera 和 Firefox 中 e.type 既可以在 appendChild 之前,也可以在其之后 。但在 IE 中 type 属性必须在前,其它属性必须在后 。
IE 创建元素,还有一个特点,就是可以连同属性一同创建,比如:var e = document.createElement(""); 这在其它浏览器中是不行的,所以我们也不支持 。
总结:
针对非 input 元素,各浏览器中,既可以把对元素属性的改变写在显示元素(insertBefore 或 appendChild)之前,也可以在其后 。
针对 input 元素,为了兼容 IE,type 属性写在显示元素(insertBefore 或 appendChild)之前,其它属性写在其后 。
推荐:
除了 input 元素的 type 属性写在显示元素(insertBefore 或 appendChild)之前外,其它属性都写在显示元素之后 。
改变属性时,对写在显示元素(insertBefore 或 appendChild)之前的用 createElement 的返回值,对写在显示元素之后的用 insertBefore 或 appendChild 的返回值 。
以上就是document.createElement()代码的用法及注意事项,希望大家喜欢,请继续关注我们 。
推荐阅读
- 碧蓝航线大青花鱼个人剧情攻略 大青花鱼个人剧情奖励介绍
- 房屋居住权什么意思
- 日本校服jk什么意思
- 海虾吃什么
- 碧蓝航线宴会邀请函选哪个 宴会邀请函选择推荐
- 蒜蓉香辣酱制作方法
- Win10系统网络故障诊断功能在哪里?怎么打开网络故障诊断?
- 瘦脸霜真的有用吗
- 腾讯会议人员顺序规则