用法
.after( content [, content ] ) => jQuery
.after( content [, content ] ) => jQuery
说明:在匹配元素集中的每个元素之后插入由参数指定的内容。
-
添加的版本:1.0
.after( content [, content ] )
-
content类型:htmlString 或 Element 或 Text 或 Array 或 jQueryHTML 字符串、DOM 元素、文本节点、元素数组和文本节点,或要插入到匹配元素集中的每个元素之后的 jQuery 对象。
-
content类型:htmlString 或 Element 或 Text 或 Array 或 jQuery一个或多个附加 DOM 元素、文本节点、元素数组和文本节点、HTML 字符串或 jQuery 对象,以插入到匹配元素集中的每个元素之后。
-
-
添加的版本:1.4
.after( function )
-
function一个返回 HTML 字符串、DOM 元素、文本节点或 jQuery 对象的函数,以插入到匹配元素集中的每个元素之后。接收集合中元素的索引位置作为参数。在函数中,
this
指的是集合中的当前元素。
-
-
添加的版本:1.10
.after( function-html )
-
function-html一个返回 HTML 字符串、DOM 元素、文本节点或 jQuery 对象的函数,以插入到匹配元素集中的每个元素之后。接收集合中元素的索引位置和元素的旧 HTML 值作为参数。在函数中,
this
指的是集合中的当前元素。
-
.after()
和 .insertAfter()
方法执行相同的任务。主要区别在于语法——特别是内容和目标的位置。使用 .after()
,要插入的内容来自方法的参数:$(target).after(contentToBeInserted)
。另一方面,使用 .insertAfter()
时,内容在方法之前并插入到目标之后,而目标又作为 .insertAfter()
方法的参数传递:$(contentToBeInserted).insertAfter(target)
。
使用以下 HTML:
|
可以创建内容,然后一次插入多个元素之后:
|
每个内部 <div>
元素都会获得以下新内容:
|
也可以选择 DOM 中的一个元素并将其插入到另一个元素之后:
|
如果以这种方式选择的元素被插入到 DOM 中其他位置的单个位置,它将被移动而不是克隆:
|
重要提示:但是,如果有多个目标元素,则将为每个目标创建插入元素的克隆副本,最后一个除外。
传递函数
从 jQuery 1.4 开始,.after()
支持传递返回要插入的元素的函数。
|
此示例在每个段落之后插入 <div>
,每个新的 <div>
都包含其前一段的类名。
附加参数
与 .prepend()
和 .before()
等其他内容添加方法类似,.after()
也支持传入多个参数作为输入。支持的输入包括 DOM 元素、jQuery 对象、HTML 字符串和 DOM 元素数组。
例如,以下将在第一段之后插入两个新的 <div>
和一个现有的 <div>
:
|
由于 .after()
可以接受任意数量的附加参数,因此可以通过将三个 <div>
作为三个单独的参数传入来实现相同的结果,如下所示: $( "p" ).first().after( $newdiv1, newdiv2, existingdiv1 )
。参数的类型和数量在很大程度上取决于代码中收集的元素。
其他注意事项:
- 在 jQuery 1.9 之前,如果集合中的第一个节点未连接到文档,
.after()
将尝试在当前 jQuery 集合中添加或更改节点,并且在这些情况下返回一个新的 jQuery 集合而不是原始集合。该方法可能会或可能不会返回新结果,具体取决于其参数的数量或连接性!从 jQuery 1.9 开始,.after()
、.before()
和.replaceWith()
总是返回原始的未修改集。尝试在没有父节点的节点上使用这些方法没有任何效果——也就是说,集合和它包含的节点都不会改变。 - 根据设计,任何接受 HTML 字符串的 jQuery 构造函数或方法(jQuery()、.append()、.after() 等)都可能执行代码。这可以通过注入脚本标签或使用执行代码的 HTML 属性(例如,
<img onload="">
)来实现。不要使用这些方法插入从 URL 查询参数、cookie 或表单输入等不受信任的来源获得的字符串。这样做会引入cross-site-scripting (XSS) 漏洞。在向文档添加内容之前删除或转义任何用户输入。
例子:
在所有段落之后插入一些 HTML。
|
演示:
在所有段落之后插入一个 DOM 元素。
|
演示:
在所有段落之后插入一个 jQuery 对象(类似于 DOM 元素数组)。
|
演示:
相关用法
- JQuery .add()用法及代码示例
- JQuery UI .addClass()用法及代码示例
- JQuery .addClass()用法及代码示例
- JQuery .addBack()用法及代码示例
- JQuery .ajaxSend()用法及代码示例
- JQuery .ajaxStop()用法及代码示例
- JQuery .ajaxComplete()用法及代码示例
- JQuery .animate()用法及代码示例
- JQuery .attr()用法及代码示例
- JQuery .ajaxSuccess()用法及代码示例
- JQuery .ajaxError()用法及代码示例
- JQuery .append()用法及代码示例
- JQuery .appendTo()用法及代码示例
- JQuery .ajaxStart()用法及代码示例
- JQuery .jquery用法及代码示例
- JQuery .scroll()用法及代码示例
- JQuery .contextmenu()用法及代码示例
- JQuery .undelegate()用法及代码示例
- JQuery .load()用法及代码示例
- JQuery .contents()用法及代码示例
- JQuery .empty()用法及代码示例
- JQuery UI .labels()用法及代码示例
- JQuery .click()用法及代码示例
- JQuery UI .toggleClass()用法及代码示例
- JQuery .removeAttr()用法及代码示例
注:本文由纯净天空筛选整理自jquery.com大神的英文原创作品 .after()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。