使用jQuery添加<div> - 奇怪的单击行为</div>

时间:2012-08-09 14:53:56

标签: jquery html click append

我在jQuery中遇到了appendTo()的奇怪行为。

这是我的JS:

$(document).ready(function() {
    $("a#mydiv").click(function () {
        $(this).append('<div class="well">Added div</div>' );
        $(this).appendTo(div.last);
    });
});

我的HTML:

<div id="last">
    <center><a id="mydiv"><h3>New List</h3></a></center>
</div>

显然,当我点击“新建列表”链接时,我会将新<div>添加到<div id="last">。它看起来像这样:

Picture of divs

如果我继续点击New List,我的<div>会越来越多。这可以。但是,当我单击其中一个新创建的<div>时,它还会添加一个。 (当我点击“添加div”灰色空间)。我将把文本框放在这些新的<div>中,并且我不希望它在用户点击键入时添加越来越多的<div>

点击“新建列表”链接后,如何才能创建新的<div> ,我该怎么办?

谢谢!

2 个答案:

答案 0 :(得分:4)

使用.after()代替.append()。目前,您的新div正在添加到您的标签中。

答案 1 :(得分:1)

这是因为append()添加了孩子,而不是兄弟。因此,点击是指整个容器 myDiv ,其中包含所有添加的div并且仍然可以点击。 使用after()添加兄弟。