Jquery after()
方法用于在所选元素之后插入HTML元素。我的代码是jquery after()方法移除DOM元素
<h2>Greetings</h2>
<div class="inner">Hello</div>
<div class="inner">Goodbye</div>
</div>
jQuery代码:
$(".inner").after("<h2>Greetings</h2>");
上面的代码工作正常。 Jquery在两个div
标签后插入<h2>Greetings</h2>
代码。 的HTML产生象下面
<div class="container">
<h2>Greetings</h2>
<div class="inner">Hello</div>
<h2>Greetings</h2>
<div class="inner">Goodbye</div>
<h2>Greetings</h2>
</div>
但是,当我通过jQuery选择$('h2')
作为参数after()
方法如下面
$(".inner").after($('h2'));
Jquery的移除第一原始<h2>Greetings</h2>
标签和之后插入两后<h2>Greetings</h2>
标签div
标签。 HTML生成如下。
<div class="container">
<div class="inner">Hello</div>
<h2>Greetings</h2>
<div class="inner">Goodbye</div>
<h2>Greetings</h2>
</div>
传递Jquery DOM选择器和纯HTML标记时有什么区别。
为什么?移动现有选择器的原因是什么? –
@BharathKumar - 这就是所有DOM操作基本上在JavaScript中工作的方式,当您插入对文档中已有节点的引用时,它会被移动,但它不会奇迹般地创建新的节点。 – adeneo