JQuery:添加元素
通过 jQuery,可以很容易地添加新元素/内容、添加新的HTML内容。
我们将学习用于添加新内容的四个jQuery方法:
append() - 在被选元素的结尾插入内容
prepend() - 在被选元素的开头插入内容
after() - 在被选元素之后插入内容
before() - 在被选元素之前插入内容
1、jQuery append() 方法
jQuery append() 方法在被选元素的结尾插入内容。
实例:$("p").append("追加文本");
代码如下:
<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8"> <title>JQuery的使用!!!</title> <script src="jquery-3.1.0.js"></script> <script> $(function(){ //追加文本 $("#btn1").click(function(){ $("p").append("<b>这是追加的加粗的一句话。</b>"); }); //追加列表项 $("#btn2").click(function(){ $("ol").append("<li><b>List item new</b></li>"); }); }); </script> </head> <body> <p>这是一句段落。</p> <p>这是另外一句段落。</p> <ol> <li>List item 1</li> <li>List item 2</li> <li>List item 3</li> </ol> <button id="btn1">追加文本</button> <button id="btn2">追加列表项</button> </body> </html>
2、jQuery prepend() 方法
jQuery prepend() 方法在被选元素的开头插入内容。
实例:$("p").prepend("在开头追加文本");
代码如下:
<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8"> <title>JQuery的使用!!!</title> <script src="jquery-3.1.0.js"></script> <script> $(function(){ //追加文本 $("#btn1").click(function(){ $("p").prepend("<b>这是追加的加粗的一句话。</b>"); }); //追加列表项 $("#btn2").click(function(){ $("ol").prepend("<li><b>List item new</b></li>"); }); }); </script> </head> <body> <p>这是一句段落。</p> <p>这是另外一句段落。</p> <ol> <li>List item 1</li> <li>List item 2</li> <li>List item 3</li> </ol> <button id="btn1">追加文本</button> <button id="btn2">追加列表项</button> </body> </html>
3、通过 append() 和 prepend() 方法添加若干新元素
在上面的例子中,我们只在被选元素的开头/结尾插入文本/HTML。
不过,append() 和 prepend() 方法能够通过参数接收无限数量的新元素。可以通过 jQuery 来生成文本/HTML(就像上面的例子那样),或者通过 JavaScript 代码和 DOM 元素。
在下面的例子中,我们创建若干个新元素。这些元素可以通过 text/HTML、jQuery 或者 JavaScript/DOM 来创建。然后我们通过 append() 方法把这些新元素追加到文本中(对 prepend() 同样有效):
实例:
function appendText()
{
var txt1="<p>文本。</p>"; // 使用 HTML 标签创建文本
var txt2=$("<p></p>").text("文本。"); // 使用 jQuery 创建文本
var txt3=document.createElement("p");
txt3.innerHTML="文本。"; // 使用 DOM 创建文本 text with DOM
$("body").append(txt1,txt2,txt3); // 追加新元素
}
代码如下:
<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8"> <title>JQuery的使用!!!</title> <script src="jquery-3.1.0.js"></script> <script> function appendText() { //通过html标签创建文本 var htmlText = "<p>这是新创建的html文本</p>"; //通过JQuery创建文本 var jqueryText = $("<p></p>").text("这是通过JQuery创建文本"); //通过JavaScript的DOM创建文本 var jsText = document.createElement("p"); jsText.innerHTML = "通过JavaScript的DOM创建文本"; //追加新元素 $("body").append(htmlText,jqueryText,jsText); } </script> </head> <body> <p>这是一句段落。</p> <button onclick="appendText()">追加文本</button> </body> </html>
4、jQuery after() 和 before() 方法
jQuery after() 方法在被选元素之后插入内容。
jQuery before() 方法在被选元素之前插入内容。
实例:
$("img").after("在后面添加文本");
$("img").before("在前面添加文本");
代码如下:
<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8"> <title>JQuery的使用!!!</title> <script src="jquery-3.1.0.js"></script> <script> $(document).ready(function(){ //在img前面插入文本 $("#btn1").click(function(){ $("img").before("<b>我被插入到img前面</b>"); }); //在img后面插入文本 $("#btn2").click(function(){ $("img").after("<b>我被插入到img后面</b>"); }); }); </script> </head> <body> <p><img src="logol.png" alt="logol" title="ww3cschool的logol"></p> <button id="btn1">在img前面插入文本</button> <button id="btn2">在img后面插入文本</button> </body> </html>
5、通过 after() 和 before() 方法添加若干新元素
after() 和 before() 方法能够通过参数接收无限数量的新元素。可以通过 text/HTML、jQuery 或者 JavaScript/DOM 来创建新元素。
在下面的例子中,我们创建若干新元素。这些元素可以通过 text/HTML、jQuery 或者 JavaScript/DOM 来创建。然后我们通过 after() 方法把这些新元素插到文本中(对 before() 同样有效):
实例
function afterText()
{
var txt1="<b>I </b>"; // 使用 HTML 创建元素
var txt2=$("<i></i>").text("love "); // 使用 jQuery 创建元素
var txt3=document.createElement("big"); // 使用 DOM 创建元素
txt3.innerHTML="jQuery!";
$("img").after(txt1,txt2,txt3); // 在图片后添加文本
}
代码如下:
<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8"> <title>JQuery的使用!!!</title> <script src="jquery-3.1.0.js"></script> <script> $(document).ready(function(){ //在img后面插入文本 $("#btn").click(function(){ //通过html标签创建文本 var htmlText = "<br/><b>这是新创建的html文本</b>"; //通过JQuery创建文本 var jqueryText = $("<p></p>").text("这是通过JQuery创建文本"); //通过JavaScript的DOM创建文本 var jsText = document.createElement("p"); jsText.innerHTML = "<b>通过JavaScript的DOM创建文本</b>"; //追加新元素 $("img").after(htmlText,jqueryText,jsText); }) }); </script> </head> <body> <p><img src="logol.png" alt="logol" title="ww3cschool的logol"></p> <button id="btn">在img后面插入文本</button> </body> </html>