动态生成HTML元素的方法由三种:
第一种:document.createElement()创建元素,再用appendChild( )方法将元素添加到指定节点;
添加a元素:
<!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>
<!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>
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>
<script>
$(function(){
var $link=$('<a href="#" id="link" style="color:pink">登录</a>');
$('#main').append($link);
})
</script>
</head>
<body>
<div id="main"></div>
</body>
</html>