栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

javascript inneHTML的地雷

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

javascript inneHTML的地雷

回顾一下,IE会把标签内前面的一些空白kill掉,还会把它里面标签统统大写,会显示动态添加的属性,在某些元素中,它还是只读的。这个由IE发明的东西,最后被爆如此多缺陷,真是令人心寒。不过innerHTML还有一地雷,存在于最标准的火狐中,看下面代码:
复制代码 代码如下:
var newTable = document.createElement('table');
document.body.appendChild(newTable);
var newTr = document.createElement('tr');
var rowContent = '司徒正美 RestlessDream';
newTr.innerHTML = rowContent;
newTable.appendChild(newTr);
alert(newTable.innerHTML)
if (rowContent.toLowerCase() == newTr.innerHTML.toLowerCase()) {
alert("一定如我所愿!");
}else {
alert("你踩雷了!");
}


[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
当我们把innerHTML加入到tr节点时,它会被firefox解析成:
复制代码 代码如下:司徒正美 RestlessDream
而不再是原来的:
复制代码 代码如下:司徒正美 RestlessDream
td标签被去掉了!我想是不是与加入DOM树的顺序有关,调整一下:
复制代码 代码如下:
var newTable = document.createElement('table');
document.body.appendChild(newTable);
var newTr = document.createElement('tr');
newTable.appendChild(newTr);
var rowContent = '司徒正美 RestlessDream';
newTr.innerHTML = rowContent;


[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
这样就解决了firefox的情况!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/116663.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号