網頁制作POLUOLUO文章簡介:IE 的 DOM 模型不能正確地創建單選框。
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; } }