動態生成HTML元素的方法有三種: 第一種:document.createElement()創建元素,再用appendChild( )方法將元素添加到指定節點 第二種:使用innerHTML直接將元素添加到指定節點 第三種:jQuery創建節點 jQuery中創建DOM對象,使用jQuery的工廠函 ...
動態生成HTML元素的方法有三種:
第一種:document.createElement()創建元素,再用appendChild( )方法將元素添加到指定節點
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 </head> 7 8 <body> 9 <div id="main"> 10 <span id="login"></span> 11 </div> 12 </body> 13 14 <script> 15 var link = document.createElement('a'); 16 link.setAttribute('href','#'); 17 link.setAttribute('id','login'); 18 link.style.color = 'green'; 19 link.innerHTML = '登錄'; 20 var main = document.getElementById('main'); 21 main.appendChild(link); 22 </script> 23 24 </html>
第二種:使用innerHTML直接將元素添加到指定節點
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 </head> 7 8 <body> 9 <div id="main"> 10 <span id="login"></span> 11 </div> 12 </body> 13 14 <script> 15 var link = document.createElement('a'); 16 17 //使用innerHTML將元素直接添加到指定節點 18 main.innerHTML = "<a href='#' id='login' style='color: red;'>登錄</a>"; 19 </script> 20 21 </html>
第三種:jQuery創建節點
jQuery中創建DOM對象,使用jQuery的工廠函數$( )完成,格式如下:
$(html),$(html)會根據傳入的HTML標記字元串,創建一個DOM對象,並將這個DOM對象包裝成一個jQuery對象後再返回到前臺頁面上。
jQuery中將創建的節點插入文本中,使用append( )等方法,jQuery中插入節點方法有:
1. append():向每個匹配的元素內部追加內容
2.appendTo():將所有匹配的元素追加到指定元素中,顛倒了常規的$(A).append(B)方法,不是將B追加到A中,而是將A追加到B中
3.prepend():向每個匹配的元素內部前置內容
4.prependTo():將所有匹配的內容前置到指定的元素中,與prpend( )方法顛倒
5.after():向每個匹配的元素之後插入內容
6.insertAfter():將所有匹配的元素插入到指定元素的後面,與after()方法顛倒
7.before():在每個匹配的元素之前插入內容
8.insertBefore():將每個匹配的元素插入到指定內容之前,與before()方法顛倒
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 <script src="jquery-1.11.1.min.js"></script> 7 <style type="text/css"> 8 .newStyle{ 9 color:red 10 } 11 </style> 12 13 <script> 14 $(function(){ 15 var link=$('<a href="#" id="link" style="color:pink">登錄</a>'); 16 $('#main').append(link).addClass("newStyle"); 17 }) 18 </script> 19 </head> 20 21 <body> 22 <div id="main"></div> 23 </body> 24 </html>
借鑒文檔出處:https://blog.csdn.net/fredaouyang/article/details/56481458