Javascript 删除附加元素
当我在第一个框中键入内容并单击“下一步”时,我键入的单词将插入我的页面。但是,如果我单击“上一步”,然后再次单击“下一步”,它将再次打印 如果单击“上一步”,我希望在单击“下一步”后附加的关键字被删除,这样,如果我再次单击“下一步”,它只打印一次(如果我进行了任何编辑,则会进行更新)Javascript 删除附加元素,javascript,Javascript,当我在第一个框中键入内容并单击“下一步”时,我键入的单词将插入我的页面。但是,如果我单击“上一步”,然后再次单击“下一步”,它将再次打印 如果单击“上一步”,我希望在单击“下一步”后附加的关键字被删除,这样,如果我再次单击“下一步”,它只打印一次(如果我进行了任何编辑,则会进行更新) document.addEventListener(“DOMContentLoaded”,function()){ var stepOne=document.getElementsByClassName(“步骤1
document.addEventListener(“DOMContentLoaded”,function()){
var stepOne=document.getElementsByClassName(“步骤1”);
var step2=document.getElementsByClassName(“步骤2”);
var nextButton=document.getElementsByClassName(“下一步”);
var backButton=document.getElementsByClassName(“back”);
下一个按钮[0]。onclick=function(){
步骤一[0]。style.display=“无”;
第二步[0]。style.display=“block”;
var inputKeyword=document.getElementById(“inputJobTitle”).value;
var newKeyword=document.createElement(“p”);
newKeyword.setAttribute(“id”、“retrievedField-1”);
setAttribute(“类”、“retrievedFieldName”);
newKeyword.innerText=inputKeyword;
newKeyword.setAttribute(“id”、“retrievedField-1”);
setAttribute(“类”、“retrievedFieldName”);
document.getElementById(“retrievedFields”).appendChild(newKeyword);
}
backButton[0]。onclick=function(){
步骤一[0]。style.display=“block”;
第二步[0]。style.display=“无”;
}
})
。步骤1{
显示:块;
}
.步骤2{
显示:无;
}
职务
以及
下一步>
+添加关键字
添加搜索结果中必须包含的技能或关键字
返回
下一个
每次单击“下一步”按钮都会触发追加。因此,您只需在单击后退时执行与追加相反的操作。只需在onclick中添加此行:
document.getElementById("retrievedFields").removeChild(document.getElementById("retrievedFields").lastElementChild);
您还可以在创建元素之前检查它是否存在
nextButton[0].onclick = function() {
stepOne[0].style.display = "none";
stepTwo[0].style.display = "block";
var inputKeyword = document.getElementById("inputJobTitle").value;
var newKeyword = document.getElementById("retrievedField-1")
if (!newKeyword) {
newKeyword = document.createElement("p");
newKeyword.setAttribute("id", "retrievedField-1");
newKeyword.setAttribute("class", "retrievedFieldName");
document.getElementById("retrievedFields").appendChild(newKeyword);
}
newKeyword.innerText = inputKeyword;
}
首先,如果你在列表中添加了多个项目,你将有多个元素具有相同的id,这是无效的HTML,这将使你的生活更加困难。但由于元素上有一个id,删除它很简单。我认为很快就会有其他问题。因为此行的id值为static,所以添加的所有元素都将具有相同的id,并且id应该是唯一的:
newKeyword.setAttribute(“id”,“retrievedField-1”)代码>这是否回答了您的问题?非常好,谢谢!我以前一直在尝试removeChild,但没有达到预期的效果。我想是因为最后省略了最后一个元素。