jquery之insertBefore(),insertAfter(),prependTo(),appendTo()用法详解
导航:
1,insertBefore(),insertAfter(),prependTo(),appendTo()这四个函数用法几乎一样
2, 与之相对的有四个函数:Before(),After(),prepend(),append()
1,jQuery.insertAfter() 函数详解(其他三个参考其用法)
insertAfter()函数用于将当前所有匹配元素插入到指定元素之后。
与该函数相对的是insertBefore()函数,用于将当前所有匹配元素插入到指定元素之前。
该函数属于jQuery对象(实例)。
语法
jQueryObject.insertAfter( target )
参数
| 参数 | 描述 |
|---|---|
| target | String/Element/jQuery类型指定的目标元素,以便于在该目标之后插入当前匹配的元素。 |
如果参数target为字符串类型,则将其视作jQuery选择器或html内容字符串,jQuery会自行判断。
返回值
insertAfter()函数的返回值为jQuery类型,返回表示插入内容的jQuery对象。
注意:如果当前jQuery对象匹配的元素是当前页面中的某些元素,那么这些元素将从原位置上消失。简而言之,这相当于一个移动操作,而不是复制操作。
示例&说明
insertAfter()函数用于将所有匹配元素插入到指定元素之后的位置:
<p>段落文本1<span></span></p><p>段落文本2<span></span></p>
<!--以上是jQuery代码执行前的html内容--><script type="text/javascript">$('<!--插入到p元素之后的位置-->').insertAfter( "p" );// 其返回值就是匹配插入内容(两个注释元素'<!--插入到p元素之后的位置-->')的jQuery对象</script><!--以下是jQuery代码执行后的html内容-->
<p>段落文本1<span></span></p><!--插入到p元素之后的位置--><p>段落文本2<span></span></p><!--插入到p元素之后的位置-->
请注意insertAfter()函数和after()函数的区别:
var $A = $("s1");var $B = $("s2");
// 将$A插入到$B之后$A.insertAfter( $B ); // 返回表示插入内容的jQuery对象( 匹配所有$B之后插入的$A元素 )// 将$B插入到$A之后$A.after( $B ); // 返回$A
以下面这段HTML代码为例:
<p id="n1"> <span id="n2">span#n2</span> </p><p id="n3"> <label id="n4" class="move">label#n4</label></p><p id="n5"> <span id="n6">span#n6</span></p>
以下jQuery示例代码用于演示insertAfter()函数的具体用法:
// 将一个自定义的i元素插入到n4之后$('<i>i元素</i>').insertAfter( "#n4" );
// 将n4插入到n2之后// n4将从原位置上消失$('#4').insertAfter( document.getElementById("n2") );
//将一个自定义的strong元素插入到每个span元素之后$("<strong>插入文本</strong>").insertAfter( "span" );
insertAfter()会将当前匹配元素插入到目标元素的结束标记之后,不会额外添加任何空白字符,上述代码执行后的完整html代码如下(格式未作任何调整):
<p id="n1"> <span id="n2">span#n2</span><strong>插入文本</strong> </p><p id="n3"> <label id="n4" class="move">label#n4</label><i>i元素</i></p>
2,after()函数用法详解(其他三个可参考其用法)
after()函数用于在每个匹配元素之后插入指定的内容。
指定的内容可以是:html字符串、DOM元素(或数组)、jQuery对象、函数(返回值)。
与该函数相对的是before()函数,用于在每个匹配元素之前插入指定的内容。
该函数属于jQuery对象(实例)。
语法
jQueryObject.after( content1 [, content2 [, contentN ]] )
参数
| 参数 | 描述 |
|---|---|
| content1 | String/Element/jQuery/Function类型指定的追加内容。 |
| content2 | 可选/String/Element/jQuery类型指定的追加内容。 |
| contentN | 可选/String/Element/jQuery类型指定的追加内容,可以有任意多个。 |
after()可以将多个参数所表示的内容全部插入到紧邻每个匹配元素之后的位置。如果参数为字符串类型,则将其视作html字符串。
jQuery 1.4 新增支持:参数content1可以为函数。after()将根据匹配的所有元素遍历执行该函数,函数中的this将指向对应的DOM元素。
after()还会为函数传入两个参数:第一个参数就是当前元素在匹配元素中的索引,第二个参数就是该元素当前的内部html内容(innerHTML)。函数的返回值就是需要插入的内容(可以是html字符串、DOM元素、jQuery对象)。
注意:只有第一个参数可以为自定义函数,用于遍历执行。如果之后的参数也为函数,则调用其toString()方法,将其转为字符串,并视为html内容。
返回值
after()函数的返回值为jQuery类型,返回当前jQuery对象本身(以便于进行链式风格的编程)。
注意:如果插入的内容是当前页面中的某些元素,那么这些元素将从原位置上消失。简而言之,这相当于一个移动操作,而不是复制操作。
示例&说明
after()函数用于在每个匹配元素之后的位置插入内容:
<p>段落文本1<span></span></p><!--插入到p元素之后的位置--><p>段落文本2<span></span></p><!--插入到p元素之后的位置-->
<script type="text/javascript">$("p").after( '<!--插入到p元素之后的位置-->' ); </script>
请注意after()函数和insertAfter()函数的区别:
var $A = $("s1");var $B = $("s2");
// 将$B插入到$A之后$A.after( $B ); // 返回$A// 将$A插入到$B之后$A.insertAfter( $B ); // 返回表示插入内容的jQuery对象( 匹配所有$B之后插入的$A元素 )
以下面这段HTML代码为例:
<p id="n1"> <span id="n2">span#n2</span> </p><p id="n3"> <label id="n4">label#n4</label> <i id="n5">i#n5</i></p>
以下jQuery示例代码用于演示after()函数的具体用法:
// 在n4之后插入一个自定义的span元素$("#n4").after('<span id="n6">span#n6(new)</span>');
// 在n2之后插入n5// n5将从原位置上消失$("#n2").after( document.getElementById("n5") );
// 在每个span元素之后插入自定义的strong元素$("span").after( function(index, innerHTML){ return '<strong>strong元素' + (index + 1) + '</strong>';} );
after()会将内容插入指定元素的结束标记之后,不会额外添加任何空白字符,上述代码执行后的完整html代码如下(格式未作任何调整):
<p id="n1"> <span id="n2">span#n2</span><strong>strong元素1</strong><i id="n5">i#n5</i> </p><p id="n3"> <label id="n4">label#n4</label><span id="n6">span#n6(new)</span><strong>strong元素2</strong> </p>
jquery之insertBefore(),insertAfter(),prependTo(),appendTo()用法详解的更多相关文章
- jquery组件WebUploader文件上传用法详解
这篇文章主要为大家详细介绍了jquery组件WebUploader文件上传用法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 WebUploader是由Baidu WebFE(FEX)团队开发的一 ...
- jquery ajax 的 $.get()用法详解
js文件 $(document).ready(function(){ $("form").submit(function(event) {event.preventDefault( ...
- jQuery 事件用法详解
jQuery 事件用法详解 目录 简介 实现原理 事件操作 绑定事件 解除事件 触发事件 事件委托 事件操作进阶 阻止默认事件 阻止事件传播 阻止事件向后执行 命名空间 自定义事件 事件队列 jque ...
- Vue1.0用法详解
Vue.js 不支持 IE8 及其以下版本,因为 Vue.js 使用了 IE8 不能实现的 ECMAScript 5 特性. 开发环境部署 可参考使用 vue+webpack. 基本用法 1 2 3 ...
- js数组中foEach和map的用法详解 jq中的$.each和$.map
数组中foEach和map的用法详解 相同点: 1.都是循环遍历数组(仅仅是数组)中的每一项. 2.forEach() 和 map() 里面每一次执行匿名函数都支持3个参数:数组中的当前项value, ...
- C#中string.format用法详解
C#中string.format用法详解 本文实例总结了C#中string.format用法.分享给大家供大家参考.具体分析如下: String.Format 方法的几种定义: String.Form ...
- @RequestMapping 用法详解之地址映射
@RequestMapping 用法详解之地址映射 引言: 前段时间项目中用到了RESTful模式来开发程序,但是当用POST.PUT模式提交数据时,发现服务器端接受不到提交的数据(服务器端参数绑定没 ...
- linux管道命令grep命令参数及用法详解---附使用案例|grep
功能说明:查找文件里符合条件的字符串. 语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>] ...
- mysql中event的用法详解
一.基本概念mysql5.1版本开始引进event概念.event既“时间触发器”,与triggers的事件触发不同,event类似与linux crontab计划任务,用于时间触发.通过单独或调用存 ...
随机推荐
- 5. 星际争霸之php设计模式--抽象工厂模式
题记==============================================================================本php设计模式专辑来源于博客(jymo ...
- 解析php mysql 事务处理回滚操作
论坛扣币项目中,用户支付论坛币的时候如果突然断网.电脑死机.停电.等其它自然灾害时,导致本次交易没有成功(即用户的币已经扣掉了,但是服务器数据库中没有消费记录等其它情况),这种情况应该怎么样进行处理呢 ...
- Sublime怎样新建HTML文档
1.在右下角有个plain text的标志,点击,选择文件类型为HTML 2.保存为HTML文档 3.这时候输入"!"(注意一定要选择对输入法) 4.然后按"Tab&qu ...
- android 项目学习随笔十六( 广告轮播条播放)
广告轮播条播放 if (mHandler == null) {//在此初始化mHandler , 保证消息不重复发送 mHandler = new Handler() { public void ha ...
- array DEMO
[xiluhua@vm-xiluhua][~]$ declare -a array #申明数组 [xiluhua@vm-xiluhua][~]$ array=("a" " ...
- 为Docker容器配置固定IP
当docker以桥接的方式启动容器时,容器内部的IP是经过DHCP获取的,例如:172.17.0.8/32,且每重启依次IP都会发生变动.某些特殊的情况下,需要容器内有自己固定的一个内部IP.我的实现 ...
- HDU 4708:Rotation Lock Puzzle
Rotation Lock Puzzle Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- Rigidbody.position/rotation更新测试
Rigidbody.position/rotation主要提供在下一个物理步之前更新物理位置,一般用于SweepTest这样的接口 那么测试一下会不会修改掉transform.position的值 测 ...
- Unity帧序列实时渲染脚本
该脚本会创建一个新相机进行录制,支持包含所有相机内容,完美解决跳帧问题,可自定义分辨率等参数,脚本会输出品质为100的jpg序列,基本无损. 但缺点是帧率始终是每秒100帧,必须压制时限制帧数. 而用 ...
- unity替换mesh测试
直接替换SkinnedMeshRender的Mesh,实现所谓断肢效果(不过最近发现,绑定多mesh似乎更好实现这样的效果.有时间准备写一篇): 只要不改变两个Mesh原始文件的层级,就不会出现权重的 ...