通过 jQuery,可以很容易地添加新元素/内容。
添加新的 HTML 内容
我们将学习用于添加新内容的四个 jQuery 方法:
- append() - 在被选元素的结尾插入内容
- prepend() - 在被选元素的开头插入内容
- after() - 在被选元素之后插入内容
- before() - 在被选元素之前插入内容
jQuery append() 方法
jQuery append() 方法在被选元素的结尾插入内容。
实例
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="jquery.js"></script>
</head>
<body>
<p>第一段落</p>
<p>第二段落</p>
<ol>
<li>列表1</li>
<li>列表2</li>
<li>列表3</li>
</ol>
<button id="btn1">追加文本</button>
<button id="btn2">追加列表</button>
<script>
$(document).ready(function(){
$("#btn1").click(function(){
$("p").append(" <b>追加的段落!</b>");
});
});
$(document).ready(function(){
$("#btn2").click(function(){
$("ol").append("<li>追加的列表</li>");
})
})
</script>
</body>
</html>
效果图:
jQuery prepend() 方法
jQuery prepend() 方法在被选元素的开头插入内容。
实例
$("p").prepend("Some prepended text.");
prepend() 和append用法相同,只是替换下函数就行。只是效果是在列表和段落的上面添加。
效果图:
通过 append() 和 prepend() 方法添加若干新元素
在上面的例子中,只是在被选元素的开头/结尾插入文本/HTML。
不过,append() 和 prepend() 方法能够通过参数接收无限数量的新元素。可以通过 jQuery 来生成文本/HTML(就像上面的例子那样),或者通过 JavaScript 代码和 DOM 元素。
在下面的例子中创建若干个新元素。这些元素可以通过 text/HTML、jQuery 或者 JavaScript/DOM 来创建。然后通过 append() 方法把这些新元素追加到文本中(对 prepend() 同样有效):
实例
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="jquery.js"></script>
</head>
<body>
<p>段落 段落</p>
<button οnclick="appendText()">追加文本</button>
<script>
function appendText(){
var txt1 = "<p>以 HTML创建新元素</p>"; ///以 HTML创建新元素
var txt2 = $("<p></p>").text("jQuery创建元素"); // 以 jQuery创建元素
var txt3 = document.createElement("p");
txt3.innerHTML = "通过 DOM 来创建文本"; //通过 DOM 来创建文本
$("body").append(txt1,txt2,txt3);
}
</script>
</body>
</html>
效果图:
jQuery after() 和 before() 方法
jQuery after() 方法在被选元素之后插入内容。
jQuery before() 方法在被选元素之前插入内容。
实例
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="jquery.js"></script>
</head>
<body>
<img src="2013-04-20_163737.jpg" />
<br />
<button id="btn1">在图片前面加文字</button>
<button id="btn2">在图片后面加文字</button>
<script>
$(document).ready(function(){
$("#btn1").click(function(){
$("img").before("<b>before</b>");
});
$("#btn2").click(function(){
$("img").after("<b>after</b>");
});
});
</script>
</body>
</html>
效果图:
通过 after() 和 before() 方法添加若干新元素
after() 和 before() 方法能够通过参数接收无限数量的新元素。可以通过 text/HTML、jQuery 或者 JavaScript/DOM 来创建新元素。
在下面的例子中,我们创建若干新元素。这些元素可以通过 text/HTML、jQuery 或者 JavaScript/DOM 来创建。然后我们通过 after() 方法把这些新元素插到文本中(对 before() 同样有效):
实例
function afterText() { var txt1="<b>a </b>"; // 以 HTML 创建新元素 var txt2=$("<i></i>").text("b "); // 通过 jQuery 创建新元素 var txt3=document.createElement("big"); // 通过 DOM 创建新元素 txt3.innerHTML="c!"; $("img").after(txt1,txt2,txt3); // 在 img 之后插入新元素 }