jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项


Posted in Javascript onApril 04, 2020

JQuery中after、append、insertAfter、prepend的简单用法

简单代码:

<html>
<head>
<title>after、append、insertAfter用法—三水点靠木</title>
</head>
<body>
<div>
<p>段落1</p>
</div>
</body>
</html>

下面的内容我们一般都是在chrome浏览器中测试这样比较容易看到效果

测试代码

<!DOCTYPE html>
<html>
<head>
<title>after、append、insertAfter用法</title>
<script type="text/javascript" src="https://apps.bdimg.com/libs/jquery/1.11.3/jquery.min.js"></script>
</head>
<body>
<div>
<p>段落1</p>
</div>
</body>
</html>

1、after:在选定元素之后插入指定的内容,该内容可以包含HTML标签。

使用after方法向div之后插入代码:

$("div").after("<p>段落2</p>");

运行之后的代码结构为:

jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项

偷偷的告诉你三水点靠木的技术测试代码都是用的这个方法,简单而直观。

由此可知:使用after方法追加内容,是在选定的元素外部追加,也就是跳出选定元素在选定元素之后追加。

2、append:在选定元素的结尾插入指定内容,该内容也可以包含HTML标签。

使用append方法向div之后插入代码:

$("div").append("<p>段落2</p>");

运行之后的代码结构为:

jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项

因此:使用append方法追加内容,是在选定元素的内部追加,没有跳出选定元素,直接在选定元素的尾部追加内容。

3、insertAfter:在被选元素之后插入指定内容或已有元素,该内容可以是HTML标签,也可以是选择器表达式

HTML标签:

使用insertAfter方法向div之后插入代码:

$("<p>段落2</p>").insertAfter("div");

运行之后的结构为:

jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项

它的结构跟after的结构相同,也是在选定的元素外部追加内容,跳出选定元素之后追加。

4、选择器表达式:这种情况是在页面中存在要插入的元素。

简答的代码结构:

<div> 
 <h1>这是一个标题1</h1> 
 <h1>这是一个标题2</h1> 
 <h1>这是一个标题3</h1> 
</div> 
<p>这是一个段落。</p> 
<p>这是另一个段落。</p>

使用insertAfter方法向<div>之后插入代码:

$("h1").insertAfter("div");

运行之后的代码结构为:

jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项

下面脚本.之家小编来给大家对比一下

代码执行之前

jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项

代码执行以后

jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项

有没有发现div的闭合跑到最上面了,然后

再使用insertAfter方法向<p>之后插入代码:

$("h1").insertAfter("p");

运行之后的代码结构为:

jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项

jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项

由上面的两个例子可以看出:使用insertAfter方法插入已有元素,已有元素会被从当前位置移走,然后被添加到选定的元素之后。有点类似于:先复制一份已有元素,然后在页面上删除已有元素,再在每一个选定元素之后粘贴一份复制的已有元素。

所有基于这个原理,我们看一下基于jquery的文章中所有图片width大小的代码

$('#content').find('img').each(function(){
 var img = this;
 if (img.width > 600) {
  img.style.width = "600px";
  img.style.height = "auto";
  //$(img).removeAttr('height');
  var aTag = document.createElement('a');
  aTag.href = img.src;
			aTag.target="_blank";
  $(aTag).addClass('bPic')
  .insertAfter(img).append(img)
  .lightBox(options);
 }
 });

是不是感觉很酷呢

jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项

就是为较大的图片加上一个a链接,在新窗口打开。这样主要是方便用户查看较大的图片。

5、prepend:在选定元素的开头插入指定内容,该内容可以包含HTML标签。

使用prepend方法向<div>之后插入代码:

$("div").prepend("<p>段落2</p>");

运行之后的代码结构为:

jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项

其结构跟append的结构相同,也是直接在选定元素的内部追加,不需要跳出选定元素,不同的是append是在选定元素的尾部追加,prepend是在选定元素的开头追加。

这里列的是针对初学jQuery者来说容易搞不懂的部分,我在这里把这些方法列了个清单,希望大家能看的懂。

如下:

方法 源包装集/字串 目标包装集体 特性描述
A.append(B) B A 若目标包装集只匹配一个元素,则源(也包括同源包装集匹配的所有元素)将被移动到目标位置;若目标包装集包含多个元素,则源将保留在原来的位置,但同时复制一份相同的副本到目标位置。 由此,若目标只匹配一个元素时,使用前述方法后源将被删除。
B.appendTo(A)
A.prepend(B)
B.prependTo(A)
A.before(B)
B.insertBefore(A)
A.after(B)
B.insertAfter(A)

举例说明:在上图中,A.append(B)表示把B添加到与A匹配的所有元素的现有内容后面,因此B是源,A是目标包装集。

Javascript 相关文章推荐
js停止输出代码
Jul 20 Javascript
为指定元素增加样式的js代码
Dec 09 Javascript
面向对象的Javascript之一(初识Javascript)
Jan 20 Javascript
自己动手写的javascript前端等待控件
Oct 30 Javascript
jquery实现简单的全选和反选功能
Jan 02 Javascript
javascript实现图片轮播效果
Jan 20 Javascript
JS实现的颜色实时渐变效果完整实例
Mar 25 Javascript
最简单纯JavaScript实现Tab标签页切换的方式(推荐)
Jul 25 Javascript
js返回顶部实例分享
Dec 21 Javascript
jQuery.ajax向后台传递数组问题的解决方法
May 12 jQuery
微信小程序实现全国机场索引列表
Jan 31 Javascript
详解使用jest对vue项目进行单元测试
Sep 07 Javascript
基于Jquery的标签智能验证实现代码
Dec 27 #Javascript
jQuery powerFloat万能浮动层下拉层插件使用介绍
Dec 27 #Javascript
在JavaScript中获取请求的URL参数[正则]
Dec 25 #Javascript
extjs之去除s.gif的影响
Dec 25 #Javascript
javascript常用方法、属性集合及NodeList 和 HTMLCollection 的浏览器差异
Dec 25 #Javascript
javascript与webservice的通信实现代码
Dec 25 #Javascript
基于node.js的快速开发透明代理
Dec 25 #Javascript
You might like
用PHP实现的四则运算表达式计算实现代码
2011/08/02 PHP
作为PHP程序员应该了解MongoDB的五件事
2013/06/03 PHP
执行、获取远程代码返回:file_get_contents 超时处理的问题详解
2013/06/25 PHP
php关联数组快速排序的方法
2015/04/17 PHP
php获取本机真实IP地址实例代码
2016/03/31 PHP
人脸识别测颜值、测脸龄、测相似度微信接口
2016/04/07 PHP
php实现遍历文件夹的方法汇总
2017/03/02 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
2019/11/26 PHP
Google韩国首页图标动画效果
2007/08/26 Javascript
jquery 插件之仿“卓越亚马逊”首页弹出菜单效果
2008/12/25 Javascript
JavaScript 高级篇之闭包、模拟类,继承(五)
2012/04/07 Javascript
JavaScript 函数参数是传值(byVal)还是传址(byRef) 分享
2013/07/02 Javascript
jquery图片轮播插件仿支付宝2013版全屏图片幻灯片
2014/04/03 Javascript
jQuery1.9.1针对checkbox的调整方法(prop)
2014/05/01 Javascript
基于jQuery实现的文字按钮表单特效整理
2014/12/07 Javascript
vue.js+Element实现表格里的增删改查
2017/01/18 Javascript
nodejs简单读写excel内容的方法示例
2018/03/16 NodeJs
uniapp与webview之间的相互传值的实现
2020/06/29 Javascript
[06:45]DOTA2-DPC中国联赛 正赛 Magma vs LBZS 选手采访
2021/03/11 DOTA
Python查询Mysql时返回字典结构的代码
2012/06/18 Python
Python读取Excel表格,并同时画折线图和柱状图的方法
2018/10/14 Python
python 中值滤波,椒盐去噪,图片增强实例
2019/12/18 Python
Django框架之中间件MiddleWare的实现
2019/12/30 Python
Python eval函数介绍及用法
2020/11/09 Python
用CSS3的box-reflect设置文字倒影效果的方法讲解
2016/03/07 HTML / CSS
css3针对移动端卡顿问题的解决(动画性能优化)
2020/02/14 HTML / CSS
香港太阳眼镜网上商店:SmartBuyGlasses香港
2016/07/22 全球购物
UGG美国官网:购买UGG雪地靴、拖鞋和鞋子
2017/12/31 全球购物
德国购买踏板车网站:Microscooter
2019/10/14 全球购物
康拓普公司Java笔面试
2016/09/23 面试题
社团文化节邀请函
2014/01/10 职场文书
购房意向书
2014/04/01 职场文书
六查六看自查报告
2014/10/14 职场文书
写给父母的感谢信
2015/01/22 职场文书
Python之Matplotlib绘制热力图和面积图
2022/04/13 Python
Python线程池与GIL全局锁实现抽奖小案例
2022/04/13 Python