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

Javascript
JavaScript 语言精粹学习笔记
有关div页面拖动、缩放、关闭、遮罩效果代码
JQuery this 和 $(this) 的区别
JS 时间显示效果代码
jquery 表单进行客户端验证demo
JS 获取span标签中的值的代码 支持ie与firefox
JavaScript 获取用户客户端操作系统版本
可以读取EXCEL文件的js代码
JS去除字符串的空格增强版(可以去除中间的空格)
监控用户是否关闭浏览器的js代码
javascript 继承实现方法
JSON 入门指南 想了解json的朋友可以看下
javascript 函数调用规则
动态表格Table类的实现
JSON 客户端和服务器端的格式转换
jQuery ui1.7 dialog只能弹出一次问题
javascript 遍历验证所有文本框的值
关于IE、Firefox、Opera页面呈现异同 写脚本很痛苦
javascript 简练的几个函数
csdn 博客中实现运行代码功能实现

Javascript 中的 IE浏览器的DOM模型


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 255 ::
收藏到网摘: 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;
}
}