我正在运行一个从php页面返回数据的jQuery $.post
函数。在该页面中,创建了一些具有特定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)
。但是,我仍然无法按照我想要的方式工作,不知道问题是什么。
答案 0 :(得分:0)
尝试$('"#'+ phpDiv + '"', $(data)).remove();
答案 1 :(得分:0)
是的,试试这个
$('"#'+ phpDiv + '"').remove();
那应该删除你不想要的div
答案 2 :(得分:-1)
尝试.remove