# .insertAfter()

所属分类：DOM 操作 > DOM 插入现有元素外 英文文档：.insertAfter()

## .insertAfter( target )返回: jQuery

描述: 在目标元素后面插入集合中每个匹配的元素(注：插入的元素作为目标元素的兄弟元素)。

- #### 添加的版本: 1.0.insertAfter( target )

  - target
    类型: Selector, Element, jQuery
    一个选择器，元素，HTML字符串或者jQuery对象，匹配的元素将会被插入在由参数指定的目标后面。

The `.after()`和`.insertAfter()` 实现同样的功能。主要的不同是语法——特别是（插入）内容和目标的位置。 对于 `.after()`, 选择表达式在函数的前面，参数是将要插入的内容。对于 `.insertAfter()`, 刚好相反，内容在方法前面，它将被放在参数里元素的后面。

请看下面的HTML：

1 2 3 4 5 |
    <div class="container">  <h2>Greetings</h2>  <div class="inner">Hello</div>  <div class="inner">Goodbye</div></div>

我们可以创建内容然后同时插在好几个元素后面：

1 |
    $('<p>Test</p>').insertAfter('.inner');

结果如下：

1 2 3 4 5 6 7 |
    <div class="container">  <h2>Greetings</h2>  <div class="inner">Hello</div>  <p>Test</p>  <div class="inner">Goodbye</div>  <p>Test</p></div>

我们也可以在页面上选择一个元素然后插在另一个元素后面：

1 |
    $('h2').insertAfter($('.container'));

如果一个被选中的元素被插在另外一个地方，它将被移动到目标元素的后面，注意是移动而不是复制：

1 2 3 4 5 |
    <div class="container">  <div class="inner">Hello</div>  <div class="inner">Goodbye</div></div><h2>Greetings</h2>

如果有多个目标元素，会将克隆拷贝插入的元素，插入到每个目标元素的后面，然后返回新集合（原始元素和克隆元素）。

jQuery 1.9之前, 追加到单元素的情况下 没有创建一个新的集合，而返回原来的集合，当使用一个未知个数的元素时，这使我们难以使用`.end()`方法。

## 例子:

#### 在id为"foo"的元素后插入段落，和$("#foo").after("p")一样。

1 2 3 4 5 6 7 8 9 10 11 12 |
    <!DOCTYPE html><html><head>  <style>#foo { background:yellow; }</style>  <script src="https://code.jquery.com/jquery-latest.js"></script></head><body>  <p> is what I said... </p><div id="foo">FOO!</div><script>$("p").insertAfter("#foo"); // check after() examples</script> </body></html>

#### Demo: