我正在努力制作我的撤消按钮(删除通过我的“addText”函数创建的最后一个文本框,并且似乎无法使其正常工作。当前位置的撤消按钮就像另一个“添加”按钮......
HTML:
<div id="planner">
<div class="week week1">
<div class="add">
<h1>Weeks</h1>
<textarea></textarea>
<button type="submit">Add text</button>
<button type="button"onClick="removeText()">Undo</button>
</div>
</div>
<div class="week week2">
<div class="add">
<h1>Topics</h1>
<textarea></textarea>
<button type="submit">Add text</button>
<button type="button"onClick="removeText()">Undo</button>
</div>
</div>
Javascript:
var addButtons = document.querySelectorAll('.add button');
var removeButtons = document.querySelectorAll('.remove button');
function addText () {
var self = this;
var weekParent = self.parentNode.parentNode;
var textarea = self.parentNode.querySelector('textarea');
var value = textarea.value;
var item = document.createElement("p");
var text = document.createTextNode(value);
item.appendChild(text);
weekParent.appendChild(item);
}
function removeText() {
var node = document.getElementById('p');
if (node.hasChildNodes())
node.removeChild(node.lastChild);
}
for (i = 0; i < addButtons.length; i++) {
var self = addButtons[i];
self.addEventListener("click", addText);
}
如果在删除按钮之前使用 div class="p" 它(在正确的位置)可以删除 Weeks、textarea 和它本身(?!),这绝对不是我想要的!本质上,按钮无法移除新创建的文本元素。先感谢您。