首 页
网络学院
视频教程
资源下载
HOT
实例教程
图文教程
专题中心
学习社区
繁體中文
当前位置:
首页
>
图文教程
>
网络编程
>
Javascript
> javascript inneHTML的地雷
Javascript
javascript手冊-r
javascript手冊-m&n
javascript手冊-p&q
javascript手冊-t
javascript手冊-e
javascript手冊总纲
javascript手冊-b
javascript手冊-a
JavaScript 实现动态增加、删除表单域
JavaScript:一个鼠标动态跟随文字特效的示例
如何使用可以接受输入的列表框
想让您的桌面文字背景透明吗?
淡出淡入 Script
OpenGL Step by Step
看看你的状态栏有什么在动??
自定义 IE 鼠标右键弹出式
抓住网页恶意代码的"黑手"
一个javascript脚本写的俄罗斯方块
检查指定Text输入框的值是否是数值型数据
将sTableName表中的sFieldNameArr数组字段数据根据条件sWhere加载到selName
No.
«
‹
2
3
4
5
›
»
技术文章搜索
关键字
Javascript 中的 javascript inneHTML的地雷
出处:
互联网
整理:
软晨网(RuanChen.com)
发布:
2010-02-27
浏览: 32 ::
收藏到网摘: 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
登陆
还没注册?