jQuery - 添加元素
通过 jQuery,可以很容易地添加新元素/内容。
添加新的 HTML 内容
我们将学习用于添加新内容的四个 jQuery 方法:
append() - 在被选元素的结尾插入内容
prepend() - 在被选元素的开头插入内容
after() - 在被选元素之后插入内容
before() - 在被选元素之前插入内容
append()/prepend()
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="../js/jquery-3.4.1.min.js"></script>
<script>
$(document).ready(function(){
$("#btn1").click(function(){
$("#first").append("i love study ");//在“第一句话”后面加“i love study”
});
$("#btn2").click(function(){
$("#second").prepend("i love study");//在“第二句话”后面加“i love study”
});
$("#btn3").click(function(){
$("ol").append("<li>d</li>");//在ol后面中加一个li列表
})
});
</script>
</head>
<body>
<p id="first">第一句话</p>
<p id="second">第二句话</p>
<button id="btn1">append</button>
<button id="btn2">preappend</button>
<ol>
<li>a</li>
<li>b</li>
<li>c</li>
</ol>
<button id="btn3">添加列表append</button>
</body>
</html>
通过 append() 和 prepend() 方法添加若干新元素
在上面的例子中,我们只在被选元素的开头/结尾插入文本/HTML。
不过,append() 和 prepend() 方法能够通过参数接收无限数量的新元素。可以通过 jQuery 来生成文本/HTML(就像上面的例子那样),或者通过 JavaScript 代码和 DOM 元素。
现在创建若干个新元素。这些元素可以通过 text/HTML、jQuery 或者 JavaScript/DOM 来创建。通过 append() 方法把这些新元素追加到文本中
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="../js/jquery-3.4.1.min.js"></script>
<script>
function appendText()
{ var txt1="<p>文本</p>";//使用html标签创建文本
var txt2=$("<p></p>").text("文本");//使用jquery创建文本
var txt3=document.createElement("p");//使用dom创建文本
txt3.innerHTML="文本";
$("body").append(txt1,txt2,txt3);
}
</script>
</head>
<body>
<p>这是一个段落</p>
<button onclick="appendText()">追加文本</button>
</body>
</html>
Query after() 和 before() 方法
jQuery after() 方法在被选元素之后插入内容。
jQuery before() 方法在被选元素之前插入内容。
eg:
$(“img”).after(“在后面添加文本”);
$(“img”).before(“在前面添加文本”);
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="../js/jquery-3.4.1.min.js"></script>
<script>
$(document).ready(function(){
$("#before").click(function(){
$("img").before("在img前面添加文本");
});
$("#after").click(function(){
$("img").after("在img后面添加文本");
});
});
</script>
</head>
<body>
<img src="../imge/game.jpg" />
<button id="before">before</button>
<button id="after">after</button>
</body>
</html>
通过 after() 和 before() 方法添加若干新元素
after() 和 before() 方法能够通过参数接收无限数量的新元素。可以通过 text/HTML、jQuery 或者 JavaScript/DOM 来创建新元素。
现在我们创建若干新元素。这些元素可以通过 text/HTML、jQuery 或者 JavaScript/DOM 来创建。然后我们通过 after() 方法把这些新元素插到文本中(对 before() 同样有效):
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="../js/jquery-3.4.1.min.js"></script>
<script>
function aftertext(){
var txt1="<b>i<b>";
var txt2=$("<i></i>").text(" love");
var txt3=document.createElement("big");
txt3.innerHTML=" study ";
$("img").after(txt1,txt2,txt3);
}
</script>
</head>
<body>
<img src="../imge/F0C768504C8C4FF388BC2F4F64664B44.jpg"/>
<br></br>
<button onclick="aftertext()">按把</button>
</body>
</html>
append/prepend 是在选择元素内部嵌入。
after/before 是在元素外面追加。
那有木有考虑过append/prepend和after/before有什么区别呢?
append
<p>
<span class="s1">s1</span>
</p>
<script>
$("p").append('<span class="s2">s2</span>');
</script> 结果是这样的:
<p>
<span class="s1">s1</span>
<span class="s2">s2</span>
</p>
after
<p>
<span class="s1">s1</span>
</p>
<script>
$("p").after('<span class="s2">s2</span>');
</script>
结果是这样的:
<p>
<span class="s1">s1</span>
</p>
<span class="s2">s2</span>
总结:
append/prepend 是在选择元素内部嵌入。
after/before 是在元素外面追加。