Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用JQ递归地从表中删除行_Javascript_Jquery_Recursion - Fatal编程技术网

Javascript 使用JQ递归地从表中删除行

Javascript 使用JQ递归地从表中删除行,javascript,jquery,recursion,Javascript,Jquery,Recursion,我想编写一个递归函数,从表中删除行 我有要保留的行数,在该数之后,我希望删除所有行 例如: 我有5号,所以前5排需要留下,其余的需要离开。(使用行id) 代码: 我不知道我将有多少行,这就是为什么我认为我需要一个递归的解决方案 你可以用这个 $(document).ready(function(){ var deleteAfter = 5 $.each($("#table tr"),function(key,value){ //do your conditional here

我想编写一个递归函数,从表中删除行

我有要保留的行数,在该数之后,我希望删除所有行

例如: 我有5号,所以前5排需要留下,其余的需要离开。(使用行id)

代码:


我不知道我将有多少行,这就是为什么我认为我需要一个递归的解决方案

你可以用这个

$(document).ready(function(){
var deleteAfter =  5
$.each($("#table tr"),function(key,value){
    //do your conditional here
    if(key > deleteAfter-1){
        value.remove();
    }
});

alert("now the table row is "+$("#table tr").length);
}))

这是有效的

很抱歉,如果您想使用id作为输入,请使用此id

$(document).ready(function () {
    //define the id first
    var deleteAfter = $("#tr5");
    var elementNo;

$.each($("#table tr"), function (key, value) {
    if (this.id == deleteAfter.attr("id")){
        elementNo = key;
    }
});

$.each($("#table tr"), function (key, value) {
    //do your conditional here
    if (key > elementNo) {
        value.remove();
    }
});

alert("now the table row is " + $("#table tr").length);
});

我更新了

您可以使用几种不同的jQuery筛选方法:

var numRows=5;
$('#table tr').slice(numRows).remove();

参考资料:

您可以使用:gt()选择器,它选择大于索引的所有元素,然后您可以删除它

$(document).ready(function () {
    var index = 4; // set index 4, so want to remove 5 elements( 0 to 4)
    $('#table tr:gt('+index+')').remove();
});
$('#table tr:gt(' + (numRows-1) + ')').remove();
$(document).ready(function () {
    var index = 4; // set index 4, so want to remove 5 elements( 0 to 4)
    $('#table tr:gt('+index+')').remove();
});