我有一个功能,我目前正用它来显示隐藏的div.a_type
如何修改此代码,使其不会淡入隐藏的div, 我可以将新的div添加到DOM
jQuery(function(){ // Add Answer jQuery(".add_answer").click(function(){ if(count >= "4"){ alert('Only 4 Answers Allowed'); }else{ var count = $(this).attr("alt"); count++; $(this).parents('div:first').find('.a_type_'+count+'').fadeIn(); $(this).attr("alt", count); } }); });
好的,现在我已经解决了这个问题,我还有一个问题,
我有另一个功能,如果单击一个按钮,则删除插入的div。 现在它没有工作,额外的div没有加载到页面加载的dom。 我如何触发功能现在删除它们?
jQuery(function(){//隐藏答案
jQuery(".destroy_answer").click(function(){
$(this).parents("div:first").fadeOut(function (){ $(this).remove() });
var count = $(this).parents('div:first').parents('div:first').find('.add_answer').attr("alt");
count--;
$(this).parents('div:first').parents('div:first').find('.add_answer').attr("alt", count);
});
});
答案 0 :(得分:10)
如何在最后一个div之后添加它。
$('.a_type:last').insertAfter('<div class="a_type">content</div>');
修改的
您可以通过对somefile.php的AJAX调用获取信息,然后somefile应该在div中返回您想要的内容:
$.get('path/to/somefile.php', function(data){
$('.a_type:last').insertAfter('<div class="a_type">' + data + '</div>');
});
Somefile.php应该是这样的:
<?php
session_start();
$sessiondata = $_SESSION['data'];
echo "Whatever you type here will come inside the div bla bla $sessiondata";
?>
修改的
好的,试试这个:
jQuery(function(){ // Add Answer jQuery(".add_answer").click(function(){ if(count >= "4"){ alert('Only 4 Answers Allowed'); }else{ var count = $(this).attr("alt"); count++; $('.a_type_'+count-1+'').insertAfter(' Place content back here'); $(this).attr("alt", count); } }); });
如果你仍然需要,只需混合使用AJAX。
答案 1 :(得分:2)
我有另一个功能,如果单击一个按钮,则删除插入的div。现在它没有工作,额外的div没有加载到页面加载的dom。我如何触发功能现在删除它们?
您有三种方法可以解决最近的问题。
您可以使用liveQuery,这是一个jQuery插件,可在添加时将事件处理程序重新应用于DOM元素。注意:此插件仅在您使用本机jQuery DOM附加/前置函数(append / prepend / after / before / insertBefore / insertAfter等)时才有效。
或者,您可以在添加新元素时手动重新应用处理程序...(不是最佳选项)
第三,在我看来,最好的选择是利用事件授权的强大力量。您所做的是将事件处理程序附加到任何父级,例如,如果您要将列表项动态添加到无序列表,而不是不断地将事件处理程序重新应用于每个添加的项,您只需附加事件处理程序到父母,然后找到事件的目标:
$('ul').click(function(e){
var target = e ? e.target : window.event.srcElement;
if(target.nodeName.toLowerCase() === 'li') {
// Do Stuff...
}
})