Javascript 使用AJAX重新加载div后无法选择Jquery元素
我有一个邮件收件箱,在删除邮件后,我会用AJAX刷新它,从而生成一个没有该邮件的新邮件收件箱Javascript 使用AJAX重新加载div后无法选择Jquery元素,javascript,jquery,html,css,ajax,Javascript,Jquery,Html,Css,Ajax,我有一个邮件收件箱,在删除邮件后,我会用AJAX刷新它,从而生成一个没有该邮件的新邮件收件箱 <div class="container> <div class="message_box"> <div class="title"> </div> <div class="message"> </div> <div class="title"> </div
<div class="container>
<div class="message_box">
<div class="title"> </div>
<div class="message"> </div>
<div class="title"> </div>
<div class="message"> </div>
<div class="title"> </div>
<div class="message"> </div>
</div>
</div>
这很好,当页面加载时,消息被隐藏,当你点击标题时,消息就会显示出来,折叠图标也会改变
但是,当我使用.get使用AJAX刷新内容以删除消息时:
function delete_message(message_id)
{
$.get("message_inbox.php",{delete_id:message_id}, function(data)
{
$("div#messages_inbox").load("message_inbox.php div#messages_inbox > *");
// $("div.message").hide();
message_show();
});
}
使用.load后,消息div不再隐藏
通过使用$document.on切换div.title,我成功地选择了div.title,这很有效,但在加载内容后隐藏消息似乎不起作用
我也无法将div隐藏在$中。获取我留下评论的部分$divmessages\u inbox.load…-当.load完成时,您正在覆盖收件箱中的所有邮件
如果message\u inbox.php返回的内容中divmessages\u inbox>*的内部不包含div.message或div.title,则看起来message\u show什么都不做
有关详细信息,请参阅文档
您还需要调用message_show as.load的回调函数,以确保在使用之前已加载内容:
function delete_message(message_id)
{
$.get("message_inbox.php",{delete_id:message_id}, function(data)
{
$("div#messages_inbox").load("message_inbox.php div#messages_inbox > *", message_show);
});
}
$divmessages\u收件箱。加载…-当.load完成时,您正在覆盖收件箱中的所有邮件
如果message\u inbox.php返回的内容中divmessages\u inbox>*的内部不包含div.message或div.title,则看起来message\u show什么都不做
有关详细信息,请参阅文档
您还需要调用message_show as.load的回调函数,以确保在使用之前已加载内容:
function delete_message(message_id)
{
$.get("message_inbox.php",{delete_id:message_id}, function(data)
{
$("div#messages_inbox").load("message_inbox.php div#messages_inbox > *", message_show);
});
}
请查看ajax调用后的重新绑定事件。每次在DOM元素上使用AJAX时,事件都会被清除。请查看AJAX调用后的重新绑定事件。每次在DOM元素上使用AJAX时,事件都会被清除。