跟进我在此主题中发布的内容:
JQuery Add Hidden HTML Elements
这里是包含所有相关信息的词条: http://jsfiddle.net/3YGJP/2/
<input type='button' value='Show Picture' id='add'>
<div class='input'style='display: none;'>
<div class="form" id="inter">"other divs for more content"<div class="xbutton">x</div></div>
这对我有用(当我按下按钮时,div中的内容出现):
$("#add").click(function() {
$(".input:first").toggle()
});
但是当我按下它时,我的另一部分JQuery删除了div。 (正如我原本打算做的那样)。
问题是,当我再次按下按钮时,div中的内容不再出现。我希望它像无休止的循环一样工作。我单击“显示表单”按钮,显示div中的内容,单击内容,现在内容已隐藏,然后再次单击该按钮,内容再次显示....等等... \ < / p>
这是关闭我的div的JQuery:
$('.xbutton').click(function(){
$(this).parent().parent().remove();
});
再次感谢!
答案 0 :(得分:2)
为简单起见,您需要使用委托:
$(document).on("click", "#add", function() {
$(".input:hidden:first").toggle()
});
答案 1 :(得分:0)
嗯,你正在删除你的元素。它将被完全删除,你无法取回它。当你想要“删除”它时,为什么不切换呢?
$("#add").click(function() {
$(".input:hidden:first").toggle()
});
$('.xbutton').click(function(){
$(this).parent().parent().toggle();
});
您实际上没有使用隐藏功能隐藏.input
元素。但是你隐藏了.form
元素。所以你应该再添加一个父选择器:
$(this).parent().parent().parent().hide();
为了使这更简单,您可以使用:
$(this).parents('.input').hide();
答案 2 :(得分:0)