国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

document.createElement()用法及注意事項(ff下不兼容)

2024-05-06 14:19:19
字體:
來源:轉載
供稿:網友

今天處理了一個日期選擇器的ie和ff的兼容問題,本來這種情況就很難找錯誤,找了好久才把錯誤定位到js中創建元素的方法document.createElement(),這個方法在ie下支持這樣創建元素

代碼如下:
var inputObj    = document.createElement
     ("<input type='text' size='8' style='border:0px;border-bottom:2px solid #c0c0c0;' " readonly >");

但是這樣的情況在ff下是不兼容的。
還有就是特別注意input元素的創建:與 input 有關的元素有很多,比如:checkbox、radio、submit、reset...,因此創建 input 是個很特殊的用法。

創建不同的 input 正確的做法是:

代碼如下:
<div id="board"></div>
<script type="text/javascript">
<!--
var board = document.getElementById("board");
var e = document.createElement("input");
e.type = "radio"; //緊接著上一行寫
var obj = board.appendChild(e);
obj.checked = true;
//如下寫法也是正確的:
//e.checked = true;
-->
</script>

針對 input,在 Netscape、Opera 和 Firefox 中 e.type 既可以在 appendChild 之前,也可以在其之后。但在 IE 中 type 屬性必須在前,其它屬性必須在后。

IE 創建元素,還有一個特點,就是可以連同屬性一同創建,比如:var e = document.createElement("<input type='radio' name='r' value='1' />"); 這在其它瀏覽器中是不行的,所以我們也不支持。

總結:

•針對非 input 元素,各瀏覽器中,既可以把對元素屬性的改變寫在顯示元素(insertBefore 或 appendChild)之前,也可以在其后。
•針對 input 元素,為了兼容 IE,type 屬性寫在顯示元素(insertBefore 或 appendChild)之前,其它屬性寫在其后。
推薦:

•除了 input 元素的 type 屬性寫在顯示元素(insertBefore 或 appendChild)之前外,其它屬性都寫在顯示元素之后。
•改變屬性時,對寫在顯示元素(insertBefore 或 appendChild)之前的用 createElement 的返回值,對寫在顯示元素之后的用 insertBefore 或 appendChild 的返回值。

代碼如下:
1.var echkbox=document.createElement("input");   
2.echkbox.setAttribute("type","checkbox");   
3.echkbox.setAttribute("id","inputid");   
4.echkbox.setAttribute("name","inputname");   
5.echkbox.setAttribute("value","inputvalue");   
6.var addhere=document.getElementById("someElementId");   
7.addhere.appendChild(echkbox);   
8.echkbox.setAttribute("checked","checked");   
9.alert(document.getElementById("inputid").checked);

<!--document方法:
getElementById(id)                            返回指定結點的引用

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 和平县| 承德市| 隆子县| 东乌珠穆沁旗| 石河子市| 酉阳| 郯城县| 郑州市| 南通市| 达尔| 武隆县| 清水县| 隆回县| 洪泽县| 都江堰市| 桃源县| 奇台县| 崇义县| 新营市| 阳东县| 日土县| 枞阳县| 云霄县| 钦州市| 金昌市| 女性| 旌德县| 镇远县| 湖州市| 永新县| 大同市| 土默特左旗| 汉寿县| 绥阳县| 西吉县| 巴中市| 凤台县| 宁都县| 天气| 南郑县| 荣昌县|