任何人都可以帮助我如何删除参数1。这是我总是得到的错误:
无法在“节点”上执行“ removeChild”:参数1的类型不是“节点”
<script src="assets/js/minicart.js"></script>
<script>
counter = 1;
$(".apply").click(function () {
var root_container = document.getElementById("root-container");
var container = document.createElement('div');
var name_lists = document.getElementById('food-names');
var price_lists = document.getElementById('food-prices');
container.className="form-controll";
container.id= counter;
var input_name = document.createElement('input');
var input_price = document.createElement('input');
var button = document.createElement('button');
var br = document.createElement('br')
var input_total = document.createElement('input')
container.className="modal-body row ";
button.className = "btn btn-danger delete1";
button.name = "counter";
button.type = "button";
button.id = counter;
button.onclick = "remove";
button.appendChild(document.createTextNode("X"));
counter++;
input_name.value = $("#" + this.name ).html().trim();
input_name.className = "text-center ";
input_name.style.border = 'none';
input_name.name= $("#" + this.name).html().trim();
input_name.setAttribute("readonly", true)
name_lists.value = name_lists.value + "=" + $("#" + this.name).html().trim();
input_price.value = this.id.trim();
input_price.className = "text-center";
input_price.style.border = 'none';
input_price.name= this.id.trim();
input_price.setAttribute("readonly", true)
price_lists.value = price_lists.value + "=" + this.id.trim();
container.appendChild(input_name);
container.appendChild(input_price);
container.appendChild(button);
container.appendChild(br);
root_container.appendChild(container);
});
$(document).on("click",'.delete1',function(){
console.log('deleting node number -' + this.id-1);
counter = -0;
var root_container = document.getElementById("root-container");
root_container.removeChild(root_container.childNodes[this.id]);
for(i=0;i<counter.length;i++){
}
});
</script>
答案 0 :(得分:0)
我并没有仔细阅读所有代码,而是看到了代码
var root_container = document.getElementById("root-container");
root_container.removeChild(root_container.childNodes[this.id]);
在id有效且唯一且您拥有this.id之前,这段代码是好的且可行的,我认为问题出在this.id中,this.id
是什么,我确定问题在那里,希望它有助于。
快速提示使用Chrome调试器工具,并在鼠标单击时添加了事件侦听器断点(“源”选项卡>右侧导航>事件侦听器断点>鼠标>单击),请选中此框。您的浏览器将在此事件上中断,然后检查此事件。
或者,您也可以通过控制台来解决这个问题,但是通过上述方法,您可以自己一步一步发现问题,希望对您有所帮助