DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> createElemen方法創建元素節點在IE和FF浏覽器區別
createElemen方法創建元素節點在IE和FF浏覽器區別
編輯:關於JavaScript     

我們在用createElemen方法創建元素節點的時候,IE下和FF等其它浏覽器會有所不同。

 如我們創建一個input元素,在IE下,我們可以有多種寫法:

<script type="text/javascript">
//第一種,連同屬性一起被創建
var x = document.createElement("<input type='text' size='30' />");
//第二種,以空標簽形式創建
var x = document.createElement("<input />");
//第三種,以tagName形式創建
var x = document.createElement("input ");

document.body.appendChild(x);
</script>

  以上3種方式在IE中均可以通行,然後再非IE核心的浏覽器中(如FF,OP,SF等),前2種寫法均會報錯,無法正確創建這個input元素。

  由於在IE中使用createElement方法創建元素節點時,該元素的屬性可以一起被創建,但這在其它浏覽器中是行不通的,所以我們還得通過其它的方式來創建其屬性。

創建一個帶屬性的元素節點的標准寫法:

<script type="text/javascript">
var x = document.createElement("input");
x.setAttribute("type","text");
x.setAttribute("size","30");
document.body.appendChild(x);
</script>

  增加一個屬性就document.setAttribute("attribute","value")一次。

  後來發現其實還可以這樣來寫:

<script type="text/javascript">
var x = document.createElement("input");
x.type = "text";
document.body.appendChild(x);
</script>

  但使用這種來創建屬性,好像並不是素所有的屬性都能被創建,比如input的size,value,class等用這種方式就無法創建,至於具體原因我還不大清楚。所以推薦使用前面那種寫法。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved