在第一个表行之后执行.each函数

时间:2011-10-10 13:23:37

标签: jquery html

我有以下代码

 $("#description tr").each(function(){
            var description;
            var chargecode;
            var amount=0;

.......代码继续,但我感兴趣的是在第一行之后执行每个函数。我的第一个表行有标题,所以我的代码不断获取null变量值,依此类推。这是可能的还是我应该将标题行分成另一个表? 所有帮助表示赞赏

5 个答案:

答案 0 :(得分:2)

each()回调的参数是索引。您可以使用它,也可以使用<thead><tbody>正确定义表格,然后使用$("#description tbody tr")

答案 1 :(得分:1)

您可以使用:

$("#description tr:not(:first-child)")

工作示例:http://jsfiddle.net/KntKA/

另一种选择是$("tr:nth-child(n+2)"),但它读得不太好。

答案 2 :(得分:1)

您可以在第一行(或其他所有行)中添加一个类并对其进行过滤(查看not-selector或者您可以使用循环的索引(这是第一个参数)每次迭代都会增加,而不是简单地跳过第一次(或者你自己添加一个计数器)。当然,更好的解决方案是:

$("#description tr:not(:first-child)") 

使用not-selector作为first-child选择器。 您还可以使用greater than选择器:

$("#description tr:gt(0)")

这么多选择......我会选择最后一个。

答案 3 :(得分:1)

尝试 -

 $("#description tr:gt(0)").each(function(){
            var description;
            var chargecode;
            var amount=0;

tr:gt(0)应该只获得索引大于零的行,因此忽略第一行。

演示http://jsfiddle.net/ipr101/rPMUh/

答案 4 :(得分:1)

使用$("#description tr:gt(0)").each:gt(0)代表“其索引大于 0”,它将按照页面上发生的索引过滤匹配的元素。请参阅the docs