var counter = 0;
function moreFields() {
counter++;
var newFields = document.getElementById("input").cloneNode(true);
newFields.id = counter;
newFields.style.display = 'block';
var newField = newFields.childNodes;
for (var i=0;i<newField.length;i++) {
var theName = newField[i].id;
if (theName) {
newField[i].id = theName + counter;
}
}
var insertHere = document.getElementById("buttons");
insertHere.parentNode.insertBefore(newFields,insertHere);
}
function clearData() {
var pricetxt = document.getElementById('price1');
pricetxt.value = "";
var qtytxt = document.getElementById('qty1');
qtytxt.value = "";
while (counter > 0) {
var cell = document.getElementById("input"+counter);
cell.parentNode.parentNode.removeChild(cell.parentNode)
counter--;
}
counter = 1;
}
window.onload = moreFields;
我想删除按下按钮时第一个函数动态创建的所有克隆。 我使用this来建立我的脚本。我知道我可以采取简单的方法(他们这样做的方式),但我想学习如何这样做。
非常感谢所有答案!
答案 0 :(得分:0)
你有一个计数器,所以只需将所有节点删除到计数器值,然后重置它。
function startOver() {
var element;
for (var i = 1; i <= counter; i += 1) {
element = document.getElementById(i);
if (element.parentNode) {
element.parentNode.removeChild(element);
}
}
counter = 0;
moreFields();
}