导航:

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()用法详解的更多相关文章

  1. jquery组件WebUploader文件上传用法详解

    这篇文章主要为大家详细介绍了jquery组件WebUploader文件上传用法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 WebUploader是由Baidu WebFE(FEX)团队开发的一 ...

  2. jquery ajax 的 $.get()用法详解

    js文件 $(document).ready(function(){ $("form").submit(function(event) {event.preventDefault( ...

  3. jQuery 事件用法详解

    jQuery 事件用法详解 目录 简介 实现原理 事件操作 绑定事件 解除事件 触发事件 事件委托 事件操作进阶 阻止默认事件 阻止事件传播 阻止事件向后执行 命名空间 自定义事件 事件队列 jque ...

  4. Vue1.0用法详解

    Vue.js 不支持 IE8 及其以下版本,因为 Vue.js 使用了 IE8 不能实现的 ECMAScript 5 特性. 开发环境部署 可参考使用 vue+webpack. 基本用法 1 2 3 ...

  5. js数组中foEach和map的用法详解 jq中的$.each和$.map

    数组中foEach和map的用法详解 相同点: 1.都是循环遍历数组(仅仅是数组)中的每一项. 2.forEach() 和 map() 里面每一次执行匿名函数都支持3个参数:数组中的当前项value, ...

  6. C#中string.format用法详解

    C#中string.format用法详解 本文实例总结了C#中string.format用法.分享给大家供大家参考.具体分析如下: String.Format 方法的几种定义: String.Form ...

  7. @RequestMapping 用法详解之地址映射

    @RequestMapping 用法详解之地址映射 引言: 前段时间项目中用到了RESTful模式来开发程序,但是当用POST.PUT模式提交数据时,发现服务器端接受不到提交的数据(服务器端参数绑定没 ...

  8. linux管道命令grep命令参数及用法详解---附使用案例|grep

    功能说明:查找文件里符合条件的字符串. 语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>] ...

  9. mysql中event的用法详解

    一.基本概念mysql5.1版本开始引进event概念.event既“时间触发器”,与triggers的事件触发不同,event类似与linux crontab计划任务,用于时间触发.通过单独或调用存 ...

随机推荐

  1. Windows 7 64位下使用ADB驱动

    早上在cmd输入adb devices想查询正在执行的虚拟器有多少个,但是执行结果出现 C:\Users\Administrator>adb deviceserror: C:\Users\Adm ...

  2. [转]编译Android源代码常见错误解决办法

    1. 编译时出现/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../libz.so when ...

  3. kvm虚拟机virt-manager启动报错

    安装kvm,用virt-manager启动时报错如下: Traceback (most recent call last):  File "/usr/share/virt-manager/v ...

  4. Mysql slow query log

    一.概念部分:  顾名思义,慢查询日志中记录的是执行时间较长的query,也就是我们常说的slow query,通过设--log-slow-queries[=file_name]来打开该功能并设置记录 ...

  5. ectouch第十一讲 之 ECTouch 菜单里如何添加文章链接

    1.首先在 ectouch 后台添加好文章分类和文章内容(具体添加方法很简单,这里就不再赘述),然后在菜单管理里添加导航如下(链接地址的获取方法参考步骤 2):2.文章分类列表 域名/mobile/i ...

  6. textarea 在浏览器中禁用拖动和固定大小

    HTML 标签 textarea 在大部分浏览器中只要指定行(rows)和列(cols)属性,就可以规定 textarea 的尺寸,大小就不会改变,不过更好的办法是使用 CSS 的 height 和 ...

  7. jquery与服务器交换数据的利器--ajax(异步javascript and xml)

    load() 方法从服务器加载数据,并把返回的数据放入被选元素中. 一.下面的例子把 "demo_test.txt" 文件中 id="p1" 的元素的内容,加载 ...

  8. Prince2七大原则(3)

    Prince2七大原则(3) 我们先来回顾一下,PRINCE2七大原则分别是持续的业务验证,经验学习,角色与责任,按阶段管理,例外管理,关注产品,剪裁. 第三个原则:明确定义的角色和职责. 项目离不开 ...

  9. YTU 2986: 删除区间内的元素(线性表)

    2986: 删除区间内的元素(线性表) 时间限制: 1 Sec  内存限制: 2 MB 提交: 8  解决: 3 题目描述 若一个线性表L采用顺序存储结构,其中元素都为整数.设计一个算法,删除元素值在 ...

  10. javaBean的使用方法;

    在jsp页面中使用javaBean:三个标签: <jsp:useBean>标签 <jsp:setProperty>标签 <jsp:getProperty>标签 首先 ...