js删除选中的复选框中的父辈。

function scsx(){
    var cb=document.getElementsByName('checkbox')
    
    if(confirm('删除?')){
        for (var i=0;i<cb.length;i++) {
            if(cb[i].checked){
                var td1=cb[i].parentElement.parentElement
                td1.parentNode.removeChild(td1)
            }
        }
        for (var j=0;j<cb.length;j++) {
            if(cb[j].checked){
                var td2=cb[j].parentElement.parentElement
                td2.parentNode.removeChild(td2)
            }
        }
    
    }
    
}

为啥循环两次呢?因为删除一个后i的值就变化了一次,跳出最后一次循环时最后一个没有删除。所以再循环一下删除。

当然上面的方法是一个“笨”方法

看下面这个的方法就很好

function scsx(){
    var cb=document.getElementsByName('checkbox')
    
    if(confirm('删除?')){
        for (var i=cb.length-1;i>=0;i--) {
            if(cb[i].checked){
                var td1=cb[i].parentElement.parentElement
                td1.parentNode.removeChild(td1)
            }
        }

    
    }
    
}

这样倒着循环就可以都删除了。

你可能感兴趣的:(js删除选中的复选框中的父辈。)