2013-03-01 133 views
-1

我试图从特定行中获取所有td's使用jQuery遍历表中的元素

下面是代码

<script> 
$(window).scroll(function() { 
var widthArray = new Array(); 
var i=0; 
$('#firstRow >td').each(function(){ 
var tdclass=$('td').attr('class'); 
console.log(tdclass); 
widthArray.push(tdclass); 
    i=i+1; 
}); 
}); 

但它停靠在第一td而不是迭代。

更新:i变量用于不同的功能。

回答

1

您必须在.each()循环内使用$(this)

$('#firstRow > td').each(function(){ 
    var tdclass = $(this).attr('class'); 
    console.log(tdclass); 
    widthArray.push(tdclass); 
    i=i+1; 
}); 
+0

谢谢......保存了一天,我会接受答案,当SO让我在10分钟左右这样做。 – lazyprogrammer 2013-03-01 08:35:30

1

每次拿到班级第一<td>元素的集合中的$('td')迭代。你可以改变你的建设更优雅:

$(window).scroll(function() { 
    var widthArray = $("#firstRow > td").map(function() { 
      return this.className; 
     }).get(), 
     i = widthArray.length; 

    // ... 
}); 
+0

谢谢,但@布鲁诺的答案做到了......无论如何感谢 – lazyprogrammer 2013-03-01 08:35:56