JS動態建立元素的方式

動態建立元素的三種方式:數組

一、document.write():瀏覽器

  a、寫在函數裏面的話,會沖刷掉以前的頁面元素,因此通常不用或是少用;app

  b、會打開document.open()或關閉document.close()文檔流;函數

  c、文檔流: 默認的瀏覽器的加載順序是從上往下依次加載的,把當前頁面加載完畢以後,就至關於關閉了文檔流.性能

例:ip

<input type="text" value="123"/><input type="button" onclick="f1();"value="動態生成元素"/>
<div id="d">
<script>
document.write("789");
</script>
</div>
<script>
document.write("<input type='text' value='22222'/>");
function f1(){
document.write("<input type='text' value='8888'/>");
}
</script>

二、innerHTML:內存

  a、比較方便,但要注意儘可能不要頻繁的拼接字符串;文檔

  b、字符串具備不可變性,最好先將標籤字符串放在數組中,會節省內存空間,提高性能;字符串

  c、標籤.innerHTML:會得到全部的子標籤元素,可用於賦值拷貝get

    innerHTML= "":會刪除全部子標籤節點.慎用,注意賦值前後.

例:

<input type="button" value="建立元素" id="btn"/>
<div id="d"></div>
<script>
var d=document.getElementById("d");
var btn=document.getElementById("btn");
btn.onclick= function () {
for(var i=0;i<10;i++){
d.innerHTML +="<input type='text' value='8888'><br/>";
}
}

三、document.createElement:

  a、建立的是一對標籤,是生成在內存當中的;

  b、appendChild()是將內存中生成標籤剪切到須要追加的位置

例:

<div id="d"></div><script>    var id=document.getElementById("d");    var ul=document.createElement("ul");    var li=document.createElement("li");    id.appendChild(ul);    ul.appendChild(li);    li.innerHTML="添加的元素";   </script>
相關文章
相關標籤/搜索