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

线路中的某些var thirdCell内容无法正常工作。每行有四个孩子,都是 td 标签。我想在第三个单元格中获取文本。

4

4 回答 4

5

试试下面的东西,

var Rows = $("#tableid tbody tr");
Rows.each(function(index, element) {
var thirdCell = $(this).find('td').eq(2).text();
    alert(thirdCell);
});
于 2012-08-15T20:33:01.887 回答
1

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

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

http://jsfiddle.net/2URV7/

于 2012-08-15T20:37:26.473 回答
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);
});
于 2012-08-15T20:34:03.203 回答
0

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

于 2012-08-15T20:31:18.457 回答