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计划任务,用于时间触发.通过单独或调用存 ...
随机推荐
- Openstack的配额共功能的使用
在一个云系统中,一个项目不能无限制的使用资源,必须对项目进行配额管理,在openstack中主要的命令是nova quota-update, 但是可能会提示的错误: DEBUG (shell:740) ...
- lamp环境编译(实际通过)
CentOS:5.5Apache:2.2.9PHP:5.2.6MySQL:5.0.41 条件: yum install gccyum install gcc-c++ vi/etc/yum.repos. ...
- 获取元素CSS值之getComputedStyle方法熟悉
by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=2378 一.碎碎念~前 ...
- Linux字符设备驱动结构(一)--cdev结构体、设备号相关知识机械【转】
本文转载自:http://blog.csdn.net/zqixiao_09/article/details/50839042 一.字符设备基础知识 1.设备驱动分类 linux系统将设备分为3类:字符 ...
- zabbix agent 类型自带的key
zabbix服务器端通过与zabbix agent通信来获取客户端服务器的数据,agent分为两个版本,在配置主机我们可以看到一个是agent,另一个是agent(active). agent:zab ...
- rsync 排除指定目录或文件进行同步
很常见的情况:我想同步/myweb下的 一些php文件 , 但是不想复制/myweb/log/里边的一些日志文件,因为这些文件太大了,备份也是没有意义的. 现在如果想避开某个路径 直接添加—exc ...
- ImageLoader 图片加裁
// String picurl = article.cateLogo;// ImageLoader.getInstance().displayImage(picurl, holder.cate_Lo ...
- libsqlite3.dylib找不到
Xcode7中 Link Binary With Libraries 没有 .dylib库,只能找到对应的 .tbd,但不能代替使用,通过查找资料,尝试后得到以下两种解决方法. 方法1. (heqin ...
- POJ 3903:Stock Exchange(裸LIS + 二分优化)
http://poj.org/problem?id=3903 Stock Exchange Time Limit: 1000MS Memory Limit: 65536K Total Submis ...
- 再谈自主开发与企业IT管理
前两天写<自主开发与带兵打仗>分析了一下自主开发的利与弊,得到了园内不少朋友的反馈,但我觉得还有很多东西没有交待清楚,可能有很多朋友也跟我一样在公司的IT部门,有自己的研发团队也有很多外购 ...