获取每行的第三个单元格

时间:2012-08-15 20:30:06

标签: javascript jquery html-table tablerow

var Rows = $("#tableid tbody tr");
Rows.each(function(index, element) {
var thirdCell = $(this+":nth-child(3)").text();
    alert(thirdCell);
});

var thirdCell行中的某些内容无效。每行有四个孩子,都是td标签。我想把文本放在第三个单元格内。

4 个答案:

答案 0 :(得分:5)

尝试以下内容,

var Rows = $("#tableid tbody tr");
Rows.each(function(index, element) {
var thirdCell = $(this).find('td').eq(2).text();
    alert(thirdCell);
});

答案 1 :(得分:1)

this不是字符串,它是一个jquery对象,因此在构建新选择器时无法附加它。你可以这样做:

var selector = $(this).selector;
var thirdCell = $(selector+":nth-child(3)").text();
alert(thirdCell);

http://jsfiddle.net/2URV7/

答案 2 :(得分:0)

这不起作用,因为tr没有文字。它有TD。您可以通过html()来获取tr的innerHTML,或者如果它们实际上包含文本,则可以在tds上使用text()。

答案 3 :(得分:0)

您可以通过基于0的索引

获取每一行的所有单元格
Rows.each(function(index, element) {
    var thirdCell = $(this.cells[2]).text();
    alert(thirdCell);
});

或者你可以在原始选择器中获取它

var Third = $("#tableid tbody tr > td:nth-child(3)");

Third.each(function(index, element) {
    var thirdCell = $(this).text();
    alert(thirdCell);
});