jQuery insertAfter不工作

时间:2014-06-03 02:02:31

标签: jquery insertafter

我有一组按钮:

  <div id="button">
      <button id="show_link_group">Show Links</button>
      <button id="show_contact_group">Show Contacts</button>
      <button id="show_update_group">Show Updates</button>
      <button id="show_activity_group">Show Action Items</button>
  </div>

我试图在它之后插入我的div:

<div id="link_group">

      <p1>adsfadsf</p1>
</div>

我应该在点击id =“show_link_group”的按钮后插入:

$('#show_link_group').click(function() {
  $("<div id='link_group'").after('<div id="button"></div>');
});

当我点击它时,它什么也没做。我按照这个文档:

http://api.jquery.com/insertafter/

我做错了什么?

谢谢!

2 个答案:

答案 0 :(得分:2)

您必须使用选择器指定插入位置,而不是HTML字符串。

$("<div id='link_group'><p1>asdfasdf</p1></div>").insertAfter("#button");

如果link_group DIV已经在DOM中,您可以执行以下操作:

$("#link_group").insertAfter("#button");

这会将其从当前位置移动到按钮之后。

答案 1 :(得分:0)

你有.after()方法向后。你需要首先告诉它,&#34;在我要插入什么元素之后。&#34;然后告诉它要在该元素之后插入的内容。

你有这个:

$('#show_link_group').click(function() {
  $("<div id='link_group'").after('<div id="button"></div>');
});

你想要这个:

var content = "my content";
$('#show_link_group').click(function() {
   $("#button").after(content);
});

这是你的解决方案的jsbin。 http://jsbin.com/qaxan/1/edit