删除JS中的动态DIV行

时间:2015-07-27 15:56:15

标签: javascript

我正在尝试删除实际位于DIV中的行。

var html =
"<div class=\"product\" id=\"" +
                data.tasks[j].cart_id +
                "\"><div class=\"product-image\"><img src=\"images/albums/" +
                data.tasks[j].album_img +
                "\"></div><div class=\"product-details\"><div class=\"product-title\">" +
                data.tasks[j].song_name +
                "</div><div id=\"cart1\"></div></div><div class=\"product-price\">" +
                data.tasks[j].price +
                "</div><div class=\"product-quantity\"><input type=\"text\" value=\"2\" min=\"1\"></div><div class=\"product-removal\"><button class=\"remove-product\" onclick=\"removeItem1(" +
                data.tasks[j].cart_id +
                ")\">Remove</button></div><div class=\"product-line-price\">" +
                data.tasks[j].price +
                "</div></div>";
            $(html).appendTo("#cart1");

这些是在一个while循环中。所以它创建了超过1行。

删除按钮的功能是

function removeItem1(val) {
         //$(this).closest("div").remove();
        a = document.getElementById(val);
                        removeItem(a);
                    }

并在html中我通过<div id="cart1"></div>

调用div

但是当我点击删除按钮时,所有DIV都会被删除。不确定我做错了什么。

2 个答案:

答案 0 :(得分:0)

您可以使用.parent()两次来获取de parent元素。

function removeItem1(val) {
    // Get the parent DIV. It's twice to get DIV class product
    var e = $(this).parent().parent();
    e.remove();

}

或者使用.closest()

function removeItem1(val) {
    $(this).closest(".product").remove();
}

告诉我是否有错误或您有疑问。

答案 1 :(得分:0)

如果您尝试从其父元素中删除它会怎样?

count = 1000
m = [3, 5, 3*5]
result = 0
Sum = 0
for j in m:
    result = 0
    for i in range(count):
        if i*j < 1000:
            result = result + i*j
        elif i == (count - 1):
            if j < 15:
                Sum = result + Sum
            elif j == 15:
                Sum = Sum - result
                print Sum

以下是有关使用JavaScript删除对象的更多详细信息: Remove element by id