使用jQuery可以方便的添加新的HTML元素。
下面的方法用于添加HTML元素:
乍一看append,prepend 和after,before似乎功能一样,但append,prepend指在选中的元素本身(内部)的前面和后面,而after,before指在选择中的元素的前面和后面。
可以参考下面的append例子:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>JQuery Demo</title>
- <script src="scripts/jquery-1.9.1.js"></script>
- <script>
- $(document).ready(function () {
- $("#btn1").click(function () {
- $("p").append(" <b>Appended text</b>.");
- });
- $("#btn2").click(function () {
- $("ol").append("<li>Appended item</li>");
- });
- });
- </script>
- </head>
- <body>
- <p>This is a paragraph.</p>
- <p>This is another paragraph.</p>
- <ol>
- <li>List item 1</li>
- <li>List item 2</li>
- <li>List item 3</li>
- </ol>
- <button id="btn1">Append text</button>
- <button id="btn2">Append list items</button>
- </body>
- </html>
prepend示例:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>JQuery Demo</title>
- <script src="scripts/jquery-1.9.1.js"></script>
- <script>
- $(document).ready(function () {
- $("#btn1").click(function () {
- $("p").prepend("<b>Prepended text</b>. ");
- });
- $("#btn2").click(function () {
- $("ol").prepend("<li>Prepended item</li>");
- });
- });
- </script>
- </head>
- <body>
- <p>This is a paragraph.</p>
- <p>This is another paragraph.</p>
- <ol>
- <li>List item 1</li>
- <li>List item 2</li>
- <li>List item 3</li>
- </ol>
- <button id="btn1">Prepend text</button>
- <button id="btn2">Prepend list item</button>
- </body>
- </html>
append(),prepend()支持同时插入多个元素,下面的例子添加三个使用不同方法创建的新元素:
- function appendText()
- {
- // Create element with HTML
- var txt1="<p>Text.</p>";
- // Create with jQuery
- var txt2=$("<p></p>").text("Text.");
- // Create with DOM
- var txt3=document.createElement("p");
- txt3.innerHTML="Text.";
- // Append the new elements
- $("p").append(txt1,txt2,txt3);
- }
下面的例子使用after,before 在指定的元素前后面添加新内容:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>JQuery Demo</title>
- <script src="scripts/jquery-1.9.1.js"></script>
- <script>
- $(document).ready(function () {
- $("#btn1").click(function () {
- $("img").before("<b>Before</b>");
- });
- $("#btn2").click(function () {
- $("img").after("<i>After</i>");
- });
- });
- </script>
- </head>
- <body>
- <img src="/images/guidebee.jpg"
- alt="guidebee" width="120" height="125">
- <br>
- <br>
- <button id="btn1">Insert before</button>
- <button id="btn2">Insert after</button>
- </body>
- </html>
同样after,before也支持同时插入多个元素:
- function afterText()
- {
- // Create element with HTML
- var txt1="<b>I </b>";
- // Create with jQuery
- var txt2=$("<i></i>").text("love ");
- // Create with DOM
- var txt3=document.createElement("big");
- txt3.innerHTML="jQuery!";
- // Insert new elements after img
- $("img").after(txt1,txt2,txt3);
- }