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,但没有达到预期的效果。我想是因为最后省略了最后一个元素。