after()和insertAfter()功能相同但调用主体不同:$(A).after(B)由A调用,将B插入A后;$(B).insertAfter(A)由B调用,插入到A后,返回值分别为原元素和新元素,适用场景依逻辑而定。
在 jQuery 中,
after()
和
insertAfter()
都用于将内容插入到目标元素的后面,但它们的调用方式和语法结构不同,使用场景也略有区别。
1. 调用主体不同
after()
是被插入内容的父级或前一个元素调用的方法。也就是说,你先选中某个元素,然后在这个元素之后插入新内容。
例如:
这段代码的意思是:找到所有
元素,并在每个
元素
之后
插入一个
标签。
insertAfter()
则是被插入的内容主动调用的方法,需要指定插入到哪个目标元素之后。
例如:
这段代码的意思是:创建一个
元素,并将它插入到所有
元素的后面。
2. 语法结构对比
两种方法实现相同效果,但语序相反:
:把 B 插入到 A 后面
:把 B 插入到 A 后面
可以看出,功能上完全等价,只是写法角度不同。
使用HTML,CSS,JavaScript开发Android应用程序 英文文字pdf版附源文件
如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Android友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Android应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更
下载
3. 使用场景建议
如果已经有一个 DOM 元素或 HTML 字符串,并想把它放到某个已知元素后面,使用
insertAfter()
更自然。
比如动态创建元素后插入:
如果已经选中了某个元素,想在其后追加内容,
after()
更直观。
比如:
4. 返回值差异
after()
返回的是原始元素(即调用它的那个元素),适合链式操作后续处理原对象。
insertAfter()
返回的是被插入的内容(即新元素),适合继续操作新插入的部分。
基本上就这些。两个方法功能一致,选择哪个主要看代码逻辑更顺哪种写法。理解清楚调用主体是谁,就能正确使用。不复杂但容易忽略细节。
$('p').after('新内容');ppspan$('新内容').insertAfter('p');spanp$(A).after(B)$(B).insertAfter(A)const $newDiv = $('动态添加');
$newDiv.insertAfter('#target');$('#existing').after('补充段落
');