当前位置: 首页 > 图文教程 > 网络编程 > Javascript > IE浏览器的DOM模型

Javascript
实现表格中行点击时的渐扩效果!
多图展示滑动过渡效果
弹出自适应图片大小的窗口弹出窗口根据图片大小,自动判断高和宽。
拖动Html元素集合 Drag and Drop any item
脚本吧 - 幻宇工作室用到js,超强推荐base.js
使用透明叠加法美化文件上传界面
JavaScript高级程序设计
对象的类型:本地对象(1)
如何实现表格中行点击时的渐扩效果!
使用button标签,实现三态图片按钮
根据分辩率调用不同的CSS.
Web版彷 Visual Studio 2003 颜色选择器
JS中简单的实现像C#中using功能(有源码下载)
js之WEB开发调试利器:Firebug 下载
jQuery中文入门指南,翻译加实例,jQuery的起点教程
jQuery 1.0.4 - New Wave Javascript(js源文件)
强悍无比的WEB开发好助手FireBug(Firefox Plugin)
换肤测试程序js脚本
xWin之JS版(2-26更新)
共享自己写一个框架DreamScript

Javascript 中的 IE浏览器的DOM模型


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 441 ::
收藏到网摘: n/a

IE 处理 “/>” 形式的结尾标签有问题。如下面这段:

<form …>
<table … />
</form>

如果使用 JavaScript 向表格内添加表单元素<input>,你会发现在 IE 中<form>并没有把这些<input>包含起来。为什么呢?看看<table>元素的 innerHTML 就知道了:第一行竟然是“</form>”!可见 IE 对这种情况的处理有多糟糕。FireFox下就没有这种情况。

IE 的 DOM 模型不允许设置 <table> 元素的 innerHTML。在 DHTML 参考文档你会看到,IE 建议使用 insertRow 等方法来操作表格内容,而使用 table.innerHTML=… 在 IE 下面就会报错。 FireFox 没有这个问题。

IE 的 DOM 模型不能正确地创建单选框。如下面的 JavaScript 代码:

var radio = document.createElement(‘input’);
radio.setAttribute(‘type’, ‘radio’);
radio.setAttribute(‘name’, name);
radio.setAttribute(“value”, value);

如果把这样创建出来的单选框放到页面上,在 IE 下这些单选框都没法选中。FireFox没有这个问题。折中的解决办法是:

function createRadio(name, value) {
if (navigator.appName.indexOf(“Microsoft”) != -1) {
var radio = document.createElement(‘<input type=”radio” name=”‘ + name + ‘” />’);
radio.value = value;
return radio;
} else {
var radio = document.createElement(‘input’);
radio.setAttribute(‘type’, ‘radio’);
radio.setAttribute(‘name’, name);
radio.setAttribute(“value”, value);
return radio;
}
}