将隐藏的div添加到动态创建的div中

时间:2014-09-09 14:25:18

标签: jquery dom

我是jQuery的新手,在将新节点插入DOM后尝试向DOM添加新元素。

我们说我有一个民意调查。用户投票后,将一个类.voted的新div插入到包含该轮询的div中。如果我有一个隐藏的div,我想插入并仅在将这个新div添加到DOM时显示,这是否可能?

我一直在研究jQuery网站,到目前为止,我提出的最接近的是:

$('.hidden-div').livequery(function() {
    appendTo('.voted');
});

我在我的网站上试过这个,但正如预期的那样,它没有用。有没有办法使用jQuery实现这一目标?

编辑:这是标记的简化版本:

在用户投票之前:

<div id="poll">
    (poll here)
</div>
<div id="hidden-div" style="display:none">content</div>

用户投票后:

<div id="poll">
    <div class="voted">
        (some content here)                             <-- in here----------| 
    </div>                                                                   |
</div>                                                                       |
<div id="hidden-div" style="display:none">content</div> <-- I want this div..|

1 个答案:

答案 0 :(得分:0)

您可以使用append()

var html = '<div id="hidden-div">content</div>';
$('.append').click(function() {
    $('.voted').append(html);
});

我将触发器更改为单击以进行演示 - 但触发器可以是您需要的任何触发器。内容将放在voted div。

<强> JS Fiddle Demo

请注意,这会在点击时不断附加html。要阻止多次附加,请使用.length计算页面上显示的元素数量:

$('.append').click(function() {
    if($('#hidden-div').length == 0 ){
        $('.voted').append(html);
    }
});