我是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..|
答案 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);
}
});