嗨,我正在尝试做一个"加号"按钮,当点击时创建一个输入和一个"减号"按钮,当点击时删除最后一个输入。因为我想使用相同的函数做同样的事情与多个"行",我试图添加变量的名称"计数"在函数的参数。这似乎是什么使代码片段错误,但我不知道如何使它工作。
let count1 = 0;
let count2 = 0;
function newX(x, y){
y++;
let inputsContainer = document.getElementById(x);
let newInput = document.createElement("input");
newInput.type = "text"; newInput.id = x+y;
inputsContainer.appendChild(newInput);
}
function deleteX(x, y){
document.getElementById(x).lastChild.remove();
y--;
}
function result(){
document.getElementById('result').innerText = document.getElementById('AAA-').innerHTML + document.getElementById('BBB-').innerHTML
}
<h2>Test 1</h2>
<div style="display : flex;">
<div>
<button onclick="newX('AAA-', count1)">+</button>
<button onclick="deleteX('AAA-', count1)" style="margin-right:5px;">-</button>
</div>
<div id="AAA-">
<input type="text" id="AAA-0">
</div>
</div>
<h2>Test 2</h2>
<div style="display : flex;">
<div>
<button onclick="newX('BBB-', count2)">+</button>
<button onclick="deleteX('BBB-', count2)" style="margin-right:5px;">-</button>
</div>
<div id="BBB-">
<input type="text" id="BBB-0">
</div>
</div>
<h2>Name of the new ids</h2>
<button onclick=result()>Show</button>
<div id="result"></div>
2条答案
按热度按时间xdyibdwo1#
你的问题是你的函数在创建新的输入时创建了具有相同id的元素。你可以使用
parentDom.lastchild.remove()
删除最后一个元素。请检查我的代码。fjaof16o2#
最后我找到了解决办法: