JQuery在读取行时排除了thead

时间:2016-10-15 05:56:40

标签: javascript jquery

我有一个或多个行,每行都有一个s值。 该表是可排序的。 我需要以表格所在的正确顺序获取data-id值的列表,并将它们返回给我的控制器以重新分配项目的优先级。

所以我试图创建一个迭代每一行并构建逗号分隔字符串的函数。

data-id

我面临的问题首先是我的第一项,当我'警告'结果时,是“NaN”。所以,我的结果如下:

  

“NaN时,12,7,2,1”

我认为这是因为它正在读取没有数据ID的'Header'行。可能是因为 function GetOrder() { var ordered; $("#debt_list tr").each(function () { var id = $(this).data("id"); if(id != 'NaN') ordered = ordered + id + ','; }); var result = ordered.replace(/(^,)|(,$)/g, ""); return result; } 行。

我可以阻止它读取标题吗?或者我可能需要为每一行分配一个类?糟糕的修复可能是在标题中添加data-id = 0并忽略它?

我对jquery很新 - 这是我正在尝试做的正常代码吗?

2 个答案:

答案 0 :(得分:1)

您还可以执行以下操作以排除标题,只访问tbody的行是$(" #debt_list tbody tr") 并且你的代码中还有另一个错误,你没有为变量排序和尝试访问它定义任何东西,因为它返回NAN



 function GetOrder()
    {
        var ordered="";
        $("#debt_list tbody tr").each(function () {
            var id = $(this).data("id");
         
            if(id != 'NaN')
                ordered = ordered + id + ',';
        });
   
        var result = ordered.replace(/(^,)|(,$)/g, "");
       
    }




希望这有帮助

答案 1 :(得分:0)

要排除标题行,请按以下方式更改选择器:#debt_list tr:not(:first-child)

NaN不是字符串,请将测试从if(id != 'NaN')更改为if (!isNaN(id))