通過JS的DOM對象,實現元素的動態創建。
二、效果

1 <!DOCTYPE html>
2 <html lang="zh-cn">
3 <head>
4 <meta charset="utf-8">
5 <title>課堂演示</title>
6 <style type="text/css">
7 input{
8 margin: 10px;
9 width: 100px;
10 height: 30px;
11 }
12 </style>
13 </head>
14 <body>
15 <input id="Button2" type="button" value=" 測試" onclick="addInput()"> <br>
16 <script type="text/javascript">
17 var i=0;
18 function addInput(){
19 //使用DOM的創建元素方法
20 var o=document.createElement("input");
21
22 o.type = "button" ;
23
24 o.value = "按鈕" + i++ ;
25
26 o.addEventListener("click",addInput);
27
28 document.body.appendChild(o);
29
30 o = null;//及時解除不再使用的變量引用,即將其賦值為 null;
31 }
32 addInput()
33 </script>
34 </body>
35 </html>
1、15行,調用的函數中大寫字母,addInput(),在script中聲明這個函數的時候i也是大寫
2、16行,如果是css,那么type里面就是text/css,如果是javascript,那么type里面就是text/javascript
3、document對象,文檔對象,這個我需要好好熟悉一下
4、20行、createElement創建元素,如果是input元素,里面的參數就是input
5、22行,對象o直接調用原來input的屬性
6、26行,addEventListener,動態添加事件
7、26行,click事件直接寫的click,而不是onclick
8、26行、addInput,自己調用自己這個函數,叫回調好還是叫遞歸好呢
9、28行,appendChild向dom的body中添加input
10、30行,內存優化,釋放多余對象
四、總結
涉及到的知識點
- createElement() 通過指定名稱創建一個元素,是DOM對象創建元素的方法,創建完元素后,指定元素的類型、值和方法,最后使用“appendChild”方法,將元素添加到body中。
- appendChild() 方法向節點添加最后一個子節點。
- 及時解除不再使用的變量引用,即將其賦值為 null
