用jQuery删除div

时间:2009-12-08 14:51:18

标签: jquery

我目前在我的某个网站上有此代码,

$("a.navlink").click(function (ev) {
                ev.preventDefault();
                var id = $(this).attr("id")
                if($(this).hasClass("active")) {
                    alert(id);
                    $(id).remove("<div id="+ id +"/>");
                }
            $(this).toggleClass("active");
               var url = $(this).attr("href");
                $.ajax ({
                    url: "index.php/home/category",
                    type: "GET",
                    success : function (html) {
                //alert("Success");
                        $("#accordion").append($("<div id="+ id +"/>").append(html)
                        );
                    }
                });
            });

基本上它从点击导航中获取ID并从数据库中获取一些数据,然后将该数据放在一个div中,该div使用click元素的ID进行唯一命名。我想知道的是如何删除动态创建的div元素,正如我从我给出的代码中看到的那样。

2 个答案:

答案 0 :(得分:2)

if ($(this).hasClass("active")) {
   $(this).remove();
}

你需要的只是什么!

答案 1 :(得分:2)

您的代码还有其他问题。您试图为DIV提供与链接相同的ID。 ID必须是唯一的,因此会导致HTML无效。尝试将“div_”添加到链接的ID,然后使用:

 $('#div_' + id).remove();

导致:

$("a.navlink").click(function (ev) {
    var id = $(this).attr("id");
    if($(this).hasClass("active")) {
        alert(id);
        $('#div_' + id).remove();
    }
    $(this).toggleClass("active");
    var url = $(this).attr("href");
    $.ajax ({
        url: "index.php/home/category",
        type: "GET",
        success : function (html) {
            //alert("Success");
            $("#accordion").append($("<div id='div_"+ id +"'/>").append(html));
        }
    });
});