Javascript JS删除最后一个孩子?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/34193751/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
JS remove last child?
提问by slk500
When I add a few of >select> ex. SELECT_country,SELECT_country1, SELECT_country2 I would like to remove them in the order of appearance from the newest one to oldest one. But it is removing from oldest one to newest one. I thought SELECT_country is parent, and i will be deleting his child. But the parent goes away first. How I can change it?
当我添加一些 >select> ex 时。SELECT_country,SELECT_country1, SELECT_country2 我想按照从最新到最旧的出现顺序删除它们。但它正在从最旧的一个移到最新的一个。我以为 SELECT_country 是父母,我将删除他的孩子。但父母先走了。我怎样才能改变它?
var j = 0;
function add_country() {
j++;
var select = document.getElementById("SELECT_country");
var clone = select.cloneNode(true);
clone.setAttribute("id", "SELECT_country" + j);
clone.setAttribute("name", "country" + j);
document.getElementById("DIV_country").appendChild(clone);
}
function remove_country() {
var select = document.getElementById('SELECT_country');
select.parentNode.removeChild(select);
}
回答by Miguel Mota
Since you are appending new elements you need to get the last element by using lastChild
if you want to remove them from newest to oldest.
由于您要添加新元素,因此您需要使用lastChild
if来获取最后一个元素,如果要将它们从最新到最旧删除。
function remove_country() {
var select = document.getElementById('DIV_country');
select.removeChild(select.lastChild);
}
JSFiddle Demo: https://jsfiddle.net/rrkroxcb/1/
JSFiddle 演示:https://jsfiddle.net/rrkroxcb/1/