天天看點

Js 關于table表中删除多個tr

開發思路

要是想要将tr根據checkbox選中情況進行删除,首先就需要根據checkbox現擷取到對象的tr行,然後在remove就可以了。

兩種方式

1.通過dom對象的方式擷取tr,代碼如下:

var boxes = document.getElementsByName("ids");
			 console.log(boxes);
			    for(i=0;i<boxes.length;i++){
			        if(boxes[i].checked){
			           tr = boxes[i].parentNode.parentNode;
			           console.log(tr);
			            tr.parentNode.removeChild(tr);
			        }
			    }	
           

https://zhidao.baidu.com/question/43177783.html 這是我從網上找到的一種寫法,但是,在我的項目中可以删除tr,但是卻點選一次删除一行,做不到多行删除,也許是我其他部分的代碼有問題。

2.通過find(“tr:eq()”)的方式擷取到tr

$("input[name='ids']:checked").each(function() { // 周遊選中的checkbox
		            n = $(this).parents("tr").index();  // 擷取checkbox所在行的順序
		            $("table#mytable").find("tr:eq("+n+")").remove();
		        });
           

這種方式,在我的項目中就可以做到多行同時,删除。

此篇寫記,并不是為了評價這兩種方法哪種好,哪種不好 ,隻是我個人在項目中遇到是以記下來,以後在做項目中,為自己做個提醒,勿噴,謝謝,如果有更好的見解,請不吝賜教。