视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
DOM节点内部插入的常用方法
2020-11-27 20:12:26 责编:小采
文档


1.DOM内部插入append()与appendTo()

动态创建的元素是不够的,它只是临时存放在内存中,最终我们需要放到页面文档并呈现出来。那么问题来了,怎么放到文档上?

这里就涉及到一个位置关系,常见的就是把这个新创建的元素,当作页面某一个元素的子元素放到其内部。针对这样的处理,jQuery就定义2个操作的方法。

选择器描述
append()

向每个匹配的元素内部追加内容或追加子节点

appendTo()

把所有匹配的元素追加到另一个指定的元素集合中

append:这个操作与对指定的元素执行原生的appendChild方法,将它们添加到文档中的情况类似。

appendTo:实际上,使用这个方法是颠倒了常规的$(A).append(B)的操作,即不是把B追加到A中,而是把A追加到B中。

<!DOCTYPE html>
<html>
<head>
 <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
 <title></title>
 <script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
 <style>
 .content {
 width: 300px;
 }
 .append{
 background-color: blue;
 }
 .appendTo{
 background-color: red;
 }
 </style></head><body>
 <h2>通过append与appendTo添加元素</h2>
 <button id="bt1">点击通过jQuery的append添加元素</button>
 <button id="bt2">点击通过jQuery的appendTo添加元素</button>

 <p class="content"></p>

 <script type="text/javascript">

 $("#bt1").on('click', function() { //.append(), 内容在方法的后面,
 //参数是将要插入的内容。 
 $(".content").append('<p class="append">通过append方法添加的元素</p>')
 }) </script>
 <script type="text/javascript">
 $("#bt2").on('click', function() { //.appendTo()刚好相反,内容在方法前面,
 //无论是一个选择器表达式 或创建作为标记上的标记
 //它都将被插入到目标容器的末尾。 
 $('<p class="appendTo">通过appendTo方法添加的元素</p>').appendTo($(".content"))
 }) 
 </script>
 </body>
 </html>

简单的总结:

  .append()和.appendTo()两种方法功能相同,主要的不同是语法——内容和目标的位置不同

append()前面是被插入的对象,后面是要在对象内插入的元素内容
appendTo()前面是要插入的元素内容,而后面是被插入的对象

2.DOM内部插入prepend()与prependTo()

在元素内部进行操作的方法,除了在被选元素的结尾(仍然在内部)通过append与appendTo插入指定内容外,相应的还可以在被选元素之前插入,jQuery提供的方法是prepend与prependTo.

选择器描述
prepend()

在被选元素的开头插入内容

prependTo()

把所有匹配的元素前置到指定的元素集合中

提示: 就是颠倒了的

prepend()

prepend与prependTo的使用及区别:

.prepend()方法将指定元素插入到匹配元素里面作为它的第一个子元素 (如果要作为最后一个子元素插入用.append()).
.prepend()和.prependTo()实现同样的功能,主要的不同是语法,插入的内容和目标的位置不同
对于.prepend() 而言,选择器表达式写在方法的前面,作为待插入内容的容器,将要被插入的内容作为方法的参数
而.prependTo() 正好相反,将要被插入的内容写在方法的前面,可以是选择器表达式或动态创建的标记,待插入内容的容器作为参数。

<!DOCTYPE html>
<html>
<head>
 <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
 <title></title>
 <script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
 <style>
 .aaron1{
 border: 1px solid red;
 }
 .aaron1 p {
 color: red;
 }
 .aaron2{
 border: 1px solid blue;
 }
 .aaron2 p {
 color: blue;
 }
 </style></head><body>
 <h2>通过prepend与prependTo添加元素</h2>
 <button id="bt1">点击通过jQuery的prepend添加元素</button>
 <button id="bt2">点击通过jQuery的prependTo添加元素</button>
 <p class="aaron1">
 <p>测试prepend</p>
 </p>
 <p class="aaron2">
 <p>测试prependTo</p>
 </p>
 <script type="text/javascript">
 $("#bt1").on('click', function() { //找到class="aaron1"的p节点
 //然后通过prepend在内部的首位置添加一个新的p节点 $('.aaron1')
 .prepend('<p>prepend增加的p元素</p>')
 }) </script>
 <script type="text/javascript">
 $("#bt2").on('click', function() { //找到class="aaron2"的p节点
 //然后通过prependTo内部的首位置添加一个新的p节点 $('<p>prependTo增加的p元素</p>')
 .prependTo($('.aaron2'))
 }) 
 </script>
 </body>
 </html>

这里总结下内部操作四个方法的区别:

append()向每个匹配的元素内部追加内容
prepend()向每个匹配的元素内部前置内容
appendTo()把所有匹配的元素追加到另一个指定元素的集合中
prependTo()把所有匹配的元素前置到另一个指定的元素集合中

下载本文
显示全文
专题