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;}}
新闻热点
疑难解答