无法删除AJAX加载的元素
我试图删除AJAX成功中的一个元素,该元素在上一次AJAX调用期间加载并附加到文档中 我的代码如下所示:无法删除AJAX加载的元素,ajax,jquery,Ajax,Jquery,我试图删除AJAX成功中的一个元素,该元素在上一次AJAX调用期间加载并附加到文档中 我的代码如下所示: var unwantedDiv = $("#candidate-row-" + result.rejectedCandidateId); unwantedDiv.remove(); // <-- Set a breakpoint on this line $jobs-table-body.onclick,.1个rc按钮,函数{ var ctx=$.parseJSON$this.sib
var unwantedDiv = $("#candidate-row-" + result.rejectedCandidateId);
unwantedDiv.remove(); // <-- Set a breakpoint on this line
$jobs-table-body.onclick,.1个rc按钮,函数{
var ctx=$.parseJSON$this.sibbins.context.html;
$1-rc-candidate-id.valctx.candidateId;
$one-rc-job-id.valctx.jobId;
var loader=$wrapper.loader;
$.post$one-rc-form.attraction,$one-rc-form.serialize,functionresult{
加载器。移除;
成功{
//这可以工作并返回1
警报$candidate行-+result.rejectedCandidateId.length;
//这似乎没什么用
$candidate行-+result.rejectedCandidateId.remove;
}否则{
//$one-jc-messages.htmlresult.error;
}
};
};
元素。一个rc按钮和候选行-由以前的AJAX调用加载,它们被附加到文档中,因为我可以在我的页面上很好地看到它们
现在,单击先前生成的.one rc按钮,我会触发第二个AJAX调用,该调用工作正常,如果result.success成功,我想删除候选行,它位于先前生成的父元素中
警报工作并返回1。因此,我确信选择器很好,并且它匹配一个唯一的元素
我不明白的是为什么它不能从页面中删除元素
观察
我使用Firefox10.0.2,在那里这个问题是可以重现的。
在IE8上,当元素被删除时,它就工作了
在Firebug上调试脚本时,我可以验证我是否拥有正确元素的句柄。
尝试使用FireBug在该行上设置一个断点,这样您就可以确切地看到它从该选择器中得到了什么。理想情况下,首先分解语句,如下所示:
var unwantedDiv = $("#candidate-row-" + result.rejectedCandidateId);
unwantedDiv.remove(); // <-- Set a breakpoint on this line
然后,您可以在firebug调试器右侧的watch窗格中查看unwantedDiv变量,并查看它是什么,它有/没有什么方法等。我假设您没有完全恢复您认为的状态,可能是因为您在上一次AJAX调用后附加了div。有关使用FireBug进行JavaScript调试的更多信息
另一个选项是在firebug控制台中打开严格警告,查看是否出现任何“未定义方法”错误,这些错误不会停止FireFox上的显示,而是让您退出该功能。你在IE中有错误吗?通过一个非常糟糕的解决方法解决了这个问题。我仍然不确定是什么导致了这种行为 成功{ var removeThis=$candidate行-+result.rejectedCandidateId; 除去;除去; removeThis=$candidate行-+result.rejectedCandidateId; ifremoveThis.length!=0{ 除去;除去; } }
现在它可以在Firefox和IE上使用。再次检查长度。我确信删除后它将为0。@gdoron我刚刚尝试过。它保持为1。它是什么类型的元素???它是一个包含更多标记的元素。另一个更新是我能够做到的。成功隐藏。Just.remove不起作用。只需设置断点并进行调查。事实证明,我得到了正确的元素。嗯,我刚刚在IE8上进行了测试,它成功地删除了。我使用的是FF 10.0.1Strange。打开严格警告后你收到警告了吗?啊!无声的失败——我们一定是在前世犯了罪。如果尝试unwantedDiv.empty.remove;,会发生什么?