Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法删除AJAX加载的元素_Ajax_Jquery - Fatal编程技术网

无法删除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

我试图删除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.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;,会发生什么?