向html中添加節點


簡單:

①,js中:

1 (function () {
2 
3     var box=document.querySelector("#box");
4 
5     var con1=document.createElement("div");
6 
7     box.appendChild(con1);
8 
9 })();

②,jQuery中:

1 $(function () {
2 
3     var con1="<div></div>";
4 
5     $("#box").append(con1);
6 
7 });

進化:

實現向ul中添加節點3個li,且每個li中還有四個div,即

①,js(進化)

 1 (function () {
 2 
 3     var box = document.querySelector("#box");
 4 
 5 
 6     for (var i = 0; i < 3; i++) {
 7         var li = document.createElement("li");
 8         box.appendChild(li);
 9         for (var j = 0; j < 4; j++) {
10             var div = document.createElement("div");
11             li.appendChild(div);
12         }
13     }
14 })();

js(超進化)

 1 (function () {
 2 
 3     var box = document.querySelector("#box");
 4     var liString = "<li><div></div><div></div><div></div><div></div></li>";
 5 
 6     for (var i = 0; i < 3; i++) {
 7         box.innerHTML += liString;
 8     }
 9 
10 })();

這樣的好處:加快了頁面加載的速度,畢竟少了個循環╮(╯▽╰)╭

注意點:這里是innerHTML+= 不是innerHTML=,原因:innerHTML的意思是“替換”不是“添加”,如果寫成=,那么會只有一個li

js(超級進化)

 1 (function () {
 2 
 3     var box = document.querySelector("#box");
 4     var style = document.querySelector("#style");
 5     var liString = "", liStyle = "";
 6 
 7     for (var i = 0; i < 3; i++) {
 8         liString += "<li><div></div><div></div><div></div><div></div></li>";
 9         liStyle += "#box li:nth-child(" + i + ") {background:#abcedf}"
10     }
11     box.innerHTML = liString;
12     style.innerHTML += liStyle;
13 
14 })();

這里在Html中寫了,在<style>標簽里面添加了id=“style”

好處:結合nth-child選擇器 實現了動態為每個li添加背景。

②,jQuery(進化)

 1 $(function () {
 2 
 3     var li = $("<li></li>");
 4     var div = $("<div></div>");
 5 
 6     for (var i = 0; i < 3; i++) {
 7         var oli = li.clone();
 8         oli.addClass("dd");
 9         $("#box").append(oli);
10         for (var j = 0; j < 4; j++) {
11             var odiv=div.clone();
12             oli.append(odiv);
13         }
14     }
15 });

jQuery(黑暗進化)

 1 $(function () {
 2 
 3     var liString = "";
 4     for (var i = 0; i < 3; i++) {
 5         liString += "<li><div></div><div></div><div></div><div></div></li>";
 6     }
 7 
 8     $("#box").innerHTML = liString;
 9 
10 });

以上代碼通過模仿js而寫,會發現沒有任何效果,並且不報錯。呵呵了

(正如數碼寶貝,太一急切想讓亞古獸進化,結果黑暗進化了。。。)

JQuery(超級進化)

 1 $(function () {
 2 
 3     var liString = "";
 4     for (var i = 0; i < 3; i++) {
 5         liString += "<li><div></div><div></div><div></div><div></div></li>";
 6     }
 7 
 8     $("#box")[0].innerHTML = liString;
 9 
10 });

如代碼,終於正常進化了,學習亦如此,不要急於求成。

這里,說明一下,innerHTML的行使對象應該是標簽,而不是節點,即應該是document.querySelector獲取到的,而不是$()獲取到的

思維聯想,html新增的標簽audio,通過js控制其開始暫停,行使對象也是標簽,不是對象,詳情看一下網頁。

http://zhidao.baidu.com/link?url=qiuaU30c7BrJDQnuC7E_vP2A2KhCkM1iKaCQA_tXwzNm4M97zOLZABRXvFDGtGV02LTa-EiEZ864OMbiSXeofg3xD3Jl3cVccO38SmP-iR7


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM