簡單:
①,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