从返回的函数中删除div(数据)

时间:2011-11-11 04:07:57

标签: php javascript jquery

我正在运行一个从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)。但是,我仍然无法按照我想要的方式工作,不知道问题是什么。

3 个答案:

答案 0 :(得分:0)

尝试$('"#'+ phpDiv + '"', $(data)).remove();

答案 1 :(得分:0)

是的,试试这个

$('"#'+ phpDiv + '"').remove();

那应该删除你不想要的div

答案 2 :(得分:-1)

尝试.remove