Php 从返回的函数(数据)中删除div
我正在运行一个jQueryPhp 从返回的函数(数据)中删除div,php,javascript,jquery,Php,Javascript,Jquery,我正在运行一个jQuery$.post函数,它从php页面返回数据。在该页面中,将创建一些具有特定ID的div。我需要做的是删除一个div,如果它已经在当前网页上找到,但让其他人通过。代码如下: var phpDivs = []; $(data).filter("div").each(function(){ phpDivs.push(this.id); }); var pageDivs = []; $("#items").find("div&qu
$.post
函数,它从php页面返回数据。在该页面中,将创建一些具有特定ID的div。我需要做的是删除一个div,如果它已经在当前网页上找到,但让其他人通过。代码如下:
var phpDivs = [];
$(data).filter("div").each(function(){ phpDivs.push(this.id); });
var pageDivs = [];
$("#items").find("div").each(function() { pageDivs.push(this.id); });
$.each(phpDivs, function(indexphp, phpDiv) {
$.each(pageDivs, function(indexpage, pageDiv) {
if (pageDiv == phpDiv) {
alert("match");
$(phpDiv, $(data)).delete(); //problem code
}
});
});
$(data).appendTo("#items").show("slide", {direction: "right"}, 500);
上面的注释行似乎删除了所有div,而不仅仅是一个特定div。我也尝试过:
$('"#'+ phpDiv + '"', $(data)).delete();
同样的结果
编辑 遇到了一些有趣的事情。如果我用以下代码替换问题代码:
data = $(data).html("<p>blah</p>");
data=$(data.html(blah);
然后它将实际更改数据对象。我不能使用$(数据)
。但是,我仍然无法按我所希望的方式运行,也不知道问题出在哪里。尝试尝试$(“#”+phpDiv+”,$(数据)).remove()代码>是的,试试这个
$('"#'+ phpDiv + '"').remove();
应该删除您不想要的div的代码是否驻留在load()
调用的成功处理程序中?什么是数据
?什么是#items
?#items是一个包含页面上所有其他div的div。数据是从php文件返回的回声。我没有显式调用任何load()函数,但所有内容都驻留在$(document).ready函数中。data
返回我猜测的字符串,但以html格式编写。例如,它以如下形式从php页面获取信息:echo“the item”
但是div中还有几个元素,不仅仅是text.remove给了我同样的结果。在Chrome中,如果你使用console.log($(“#”+phpDiv+”,$(数据)),它是否输出正确的div?我不熟悉Chrome控制台,但是如果我发出警报(phpDiv);是的,它确实给出了正确的div id。这很好。你还能对那些潜水艇做些什么吗?比如改变背景颜色或者一些琐碎的事情?我不能在问题行中添加CSS。但在下一行,我可以将所有内容添加到页面中。这也不起作用。它没有删除div,而是允许它进入页面。