動態生成html元素的方法有三種:
第一種:document.createElement()創建元素,再用appendChild( )方法將元素添加到指定節點
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <div id="main"> <span id="login"></span> </div> </body> <script> var link = document.createElement('a'); link.setAttribute('href','#'); link.setAttribute('id','login'); link.style.color = 'green'; link.innerhtml = '登錄'; var main = document.getElementById('main'); main.appendChild(link); </script> </html>
第二種:使用innerhtml直接將元素添加到指定節點
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <div id="main"> <span id="login"></span> </div> </body> <script> var link = document.createElement('a'); //使用innerhtml將元素直接添加到指定節點 main.innerhtml = "<a href='#' id='login' style='color: red;'>登錄</a>"; </script> </html>
虎課網https://www.wode007.com/sites/73267.html 設計塢https://www.wode007.com/sites/73738.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()方法顛倒
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <script src="jquery-1.11.1.min.js"></script> <style type="text/css"> .newStyle{ color:red } </style> <script> $(function(){ var link=$('<a href="#" id="link" style="color:pink">登錄</a>'); $('#main').append(link).addClass("newStyle"); }) </script> </head> <body> <div id="main"></div> </body> </html>