删除函数中的子DOM元素

时间:2015-09-15 05:17:07

标签: javascript jquery

我正在制作Javascript购物车。我可以正确地将产品添加到我的购物车,但我正在处理delete_item()功能..当我点击×删除项目时,只消失项目名称,该项目的×保留在那里。如果我在函数中更改代码位置,当我点击×删除项目时,×消失但项目名称仍然存在..我不能这样做,我的意思是两者都应该消失.. 商品名称为refresh();,每件商品为×rel();,我刷新购物车。

function delete_item (nomP, idP, price, k) {
    idProduct.splice(k,1);
    nameProduct.splice(k,1);
    price.splice(k,1);

    $('#dlt').empty();
    document.getElementById("dlt").appendChild(rel());
    $('#nameProduct').empty();
    document.getElementById("nameProduct").appendChild(refresh());  
    return false;
};

编辑:我做了它的工作

function pro () {
        rel();
        refresh();
      };
      function rel () {
          for (k = 0; k < idProducto.length; k++) {
          function dlt() {
              var element = document.createElement("p");    
              element.innerHTML = "<p class='close' type='button' onclick=\"return borrar('" + nombreProducto[k] + "', "+idProducto[k]+", "+precio[k]+", "+k+")\"><span>&times;</span></p>";
              return element;
          }
          document.getElementById("dlt").appendChild(dlt());
          }
      }
      function refresh () {
          for (j = 0; j < idProducto.length; j++) {
              productNames();
              document.getElementById("nombresProductos").appendChild(productNames());
          }
      } 

所以,删除功能..:

 function delete_item (nomP, idP, price, k) {
        idProduct.splice(k,1);
        nameProduct.splice(k,1);
        price.splice(k,1);

      $('#nombresProductos').empty();
      $('#dlt').empty();
      if (($('#nombresProductos').is(':empty')) && ($('#dlt').is(':empty'))) {
        pro();
      };
    return false;
    };

1 个答案:

答案 0 :(得分:1)

试试这个。

的Javascript

for (j = 0; j < productArray.length; j++) {
    function productNames() {
        var element = document.createElement("p");
        element.innerHTML = productArray[j];
        return element;
    }
    document.getElementById("nameProduct").appendChild(productNames());
}
function refresh () {
    for (j = 0; j < productArray.length; j++) {
        productNames();
        document.getElementById("nameProduct").appendChild(productNames());
    }
}

for (k = 0; k < idProduct.length; k++) {    
    function dlt() {
        var element = document.createElement("p");    
        element.innerHTML = "<p class='close' type='button' onclick=\"return delete_item('" + productArray[k] + "', "+idProduct[k]+", "+precio[k]+", "+k+")\"><span>&times;</span></p>";
        return element;
    }
    document.getElementById("dlt").appendChild(dlt());
}
function rel () {
    for (k = 0; k < idProduct.length; k++) {
    function dlt() {
        var element = document.createElement("p");    
        element.innerHTML = "<p class='close' type='button' onclick=\"return delete_item('" + productArray[k] + "', "+idProduct[k]+", "+precio[k]+", "+k+")\"><span>&times;</span></p>";
        return element;
    }
    document.getElementById("dlt").appendChild(dlt());
    }
}

HTML

<div id="nameProduct" class="col-xs-6 col-md-7">
</div>
<div class="col-xs-2 col-md-2 text-right">
    <p>$105</p>
</div>