防止删除Javascript中的最后一个div

防止删除Javascript中的最后一个div,javascript,html,css,Javascript,Html,Css,我试图在网页上实现的一个特性有一个小问题。我有两个图像,一个加号和一个减号,当点击加号时,它克隆了一个由几个文本框组成的div。负号图像用于删除此div 目前,当我单击减号时,我似乎找不到阻止删除最后一个div的方法。我只想阻止删除最后一行,并使用警报通知用户无法删除它 有人能给我一些见解吗?我在这里搜索了一段时间,发现了一些类似的东西,但都是使用JQuery完成的,我没有使用JQuery的经验 下面是我用来尝试删除div的代码 function deleteRow1() { //

我试图在网页上实现的一个特性有一个小问题。我有两个图像,一个加号和一个减号,当点击加号时,它克隆了一个由几个文本框组成的div。负号图像用于删除此div

目前,当我单击减号时,我似乎找不到阻止删除最后一个div的方法。我只想阻止删除最后一行,并使用警报通知用户无法删除它

有人能给我一些见解吗?我在这里搜索了一段时间,发现了一些类似的东西,但都是使用JQuery完成的,我没有使用JQuery的经验

下面是我用来尝试删除div的代码

  function deleteRow1() {

    // row-to-clone1 is the name of the row that is being cloned
    var div = document.getElementById('row-to-clone1');

    if (div) {
        div.parentNode.removeChild(div);
    }

    if ((div).length != 1) {
        alert("Cannot delete all rows.").remove();
    }
}

当我尝试删除行时,它会显示警报,但仍会删除div。我意识到这可能是一个非常简单的修复方法,我对上述内容的实现可能不正确,如果有人能提供帮助,我将不胜感激。

元素的ID必须是唯一的,因此使用类来获取它们

函数deleteRow1(){
//row-to-clone1是要克隆的行的名称
var divs=document.getElementsByClassName('row-to-clone1');
如果(divs.length>1){
divs[0].parentNode.removeChild(divs[0]);
}否则{
警报(“无法删除所有行”)
}
}
函数add1(){
var div=document.getElementById('row-to-clone1');
如有需要(分区){
var clone=div.cloneNode(真);
删除clone.id;
div.parentNode.appendChild(克隆);
}
}
添加
删除

div
在调用
if(div)
@Press您能解释一下您的意思吗?请使用
if(divs.length>1){..}else{alert('don'delete!');}
而不是两个if语句,因为它们都将运行,而不考虑对方的真/假值。@Press我已将其更改为您描述的方式,但它仍然不允许我删除任何行,当我尝试删除行时,警报会不断弹出。这是因为
getElementById
只能获取1个元素。在我的HTML文件中,我将要克隆的
行作为ID。我尝试将其全部更改为类,但没有任何区别。我实现了上面的代码,但现在无法删除任何行,即使您的示例完全按照我希望的方式运行。@Chickensup您可以更新以重新创建您的案例吗?看到了吗?我的代码在我的名字下面