首 页
网络学院
视频教程
资源下载
HOT
实例教程
图文教程
专题中心
学习社区
繁體中文
当前位置:
首页
>
图文教程
>
网络编程
>
Javascript
> javascript inneHTML的地雷
Javascript
比较精简的Javascript拖动效果函数代码
一个可以得到元素真实的背景颜色的javascript脚本
代码精简的可以实现元素圆角的js函数
用JS实现的一个include函数
IE 缓存策略的BUG的解决方法
$()JS小技巧
js右键菜单效果代码
XML的代替者----JSON
清空代码防止查看源代码的js代码
一个JS翻页效果
用js获取点击图片的值!
用innerHTML &符号副值给文本框后会变成&的方法
让iframe自适应高度(支持XHTML,支持FF)
dsfasdfasdf
用ASP将SQL搜索出来的内容导出为TXT的代码
弹出广告特效(一个IP只弹出一次)的代码
javascript实现的动态文字变换
服务器安全设置的几个注册表设置
取键盘键位ASCII码的网页
用倒置滤镜把div倒置,再把table倒置。
No.
«
‹
75
76
77
78
›
»
技术文章搜索
关键字
Javascript 中的 javascript inneHTML的地雷
出处:
互联网
整理:
软晨网(RuanChen.com)
发布:
2010-02-27
浏览: 424 ::
收藏到网摘: 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
登陆
还没注册?