首 页
网络学院
视频教程
资源下载
HOT
实例教程
图文教程
专题中心
学习社区
繁體中文
当前位置:
首页
>
图文教程
>
网络编程
>
Javascript
> javascript inneHTML的地雷
Javascript
动态生成select选项全接触
不刷新页面动态更新select选项,实现两个select相互操作
网页输入框日期型有效性判定一网打尽
实用Javascript函数之一(自动将输入文本框中的内容转换成大写字符)
实用Javascript函数之二(自动将输入文本框中的内容转换成小写字符)
实用Javascript函数之三(限制文本输入框中只能输入数字\"0\"到\"9\")
实用Javascript函数之四(用于对sString字符串进行前空格截除)
实用Javascript函数之五(用于对sString字符串进行后空格截除)
实用Javascript函数之六(截除字符串前后空格)
如何使用交替的滚动标题
采用DOM模型时创建一个Select节点后,要删除option项的解决方法
javascript函数速查
利用JavaScript和正则表达式进行丰富的日期判断(给其它项目组的代码,有比较好的编程风格和注释)
关于字符串的几个有用函数
FileSystemObject 的例子(处理驱动器、文件夹、文件)
用JScript实现VB.Net,C#的[委托Delegate]:
得到固定字符位置的函数
IE NC通用的藏鼠标右键一法
Menu
foolpot2001菜单
No.
«
‹
3
4
5
6
›
»
技术文章搜索
关键字
Javascript 中的 javascript inneHTML的地雷
出处:
互联网
整理:
软晨网(RuanChen.com)
发布:
2010-02-27
浏览: 35 ::
收藏到网摘: 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
登陆
还没注册?