首 页
网络学院
视频教程
资源下载
HOT
实例教程
图文教程
专题中心
学习社区
繁體中文
当前位置:
首页
>
图文教程
>
网络编程
>
Javascript
> javascript inneHTML的地雷
Javascript
一定时间滚动的链接菜单效果
超链接的陷下效果
用js实现的打字效果的带链接的新闻标题
js实现的很酷的连接提示效果
再谈IE中Flash控件的自动激活 ObjectWrap
超级兔子让浮动层消失的前因后果
在线编辑器的实现原理(兼容IE和FireFox)
B/S开发中常用javaScript技术与代码
用JavaScript事件串连执行多个处理过程的方法
Javascript中的Split使用方法与技巧
HTML在线编辑器的基本概念与相关资料
Js+DVML很酷漂亮实用的右键弹出菜单
用js实现的比较经典实用的触发型导航菜单
js中slice()方法的使用说明
基础的prototype.js常用函数及其用法
常用限制input的方法的js代码
又一个图片自动缩小的JS代码
JavaScript触发器详解
理解Javascript的caller,callee,call,apply区别
一个简单的日历代码 (For: FF1+ IE5+ Opr7+)测试
No.
«
‹
54
55
56
57
›
»
技术文章搜索
关键字
Javascript 中的 javascript inneHTML的地雷
出处:
互联网
整理:
软晨网(RuanChen.com)
发布:
2010-02-27
浏览: 309 ::
收藏到网摘: n/a
javascript 包裹节点 提高效率
javascript 定义新对象方法
大家都喜欢用innerHTML添加内容,但是innerHTML这东西在两大阵营中有许多不同。 回顾一下,IE会把标签内前面的一些空白kill掉,还会把它里面标签统统大写,会显示动态添加的属性,在某些元素中,它还是只读的。这个由IE发明的东西,最后被爆如此多缺陷,真是令人心寒。不过innerHTML还有一地雷,存在于最标准的火狐中,看下面代码:
复制代码
代码如下:
var newTable = document.createElement('table');
document.body.appendChild(newTable);
var newTr = document.createElement('tr');
var rowContent = '<td>司徒正美 </td><td><em>RestlessDream</em></td>';
newTr.innerHTML = rowContent;
newTable.appendChild(newTr);
alert(newTable.innerHTML)
if (rowContent.toLowerCase() == newTr.innerHTML.toLowerCase()) {
alert("一定如我所愿!");
}else {
alert("你踩雷了!");
}
强制在IE8模式下运行 by 司徒正美
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]
当我们把innerHTML加入到tr节点时,它会被firefox解析成:
复制代码
代码如下:
司徒正美 <em>RestlessDream</em>
而不再是原来的:
复制代码
代码如下:
<td>司徒正美 </td><td><em>RestlessDream</em></td>
td标签被去掉了!我想是不是与加入DOM树的顺序有关,调整一下:
复制代码
代码如下:
var newTable = document.createElement('table');
document.body.appendChild(newTable);
var newTr = document.createElement('tr');
newTable.appendChild(newTr);
var rowContent = '<td>司徒正美 </td><td><em>RestlessDream</em></td>';
newTr.innerHTML = rowContent;
强制在IE8模式下运行 by 司徒正美
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]
这样就解决了firefox的情况!
javascript 包裹节点 提高效率
javascript 定义新对象方法
评论 (0)
All
登陆
还没注册?