我试图找出如何使用jQuery获取每行的表格单元格的值.
我的表看起来像这样:
Customer Id | Result |
---|---|
123 | |
456 | |
789 |
我基本上想循环遍历表,并获取Customer Id
每行的列值.
在下面的代码中,我已经知道我需要这样做才能让它循环遍历每一行,但我不知道如何获取行中第一个单元格的值.
$('#mytable tr').each(function() { var cutomerId = }
Jennifer.. 296
如果可以,可能值得在包含客户ID的TD上使用class属性,以便您可以编写:
$('#mytable tr').each(function() { var customerId = $(this).find(".customerIDCell").html(); });
基本上这与其他解决方案相同(可能是因为我进行了复制),但是如果你移动列,甚至将客户ID放入,只要你保留class属性.
顺便说一句,我认为你可以在一个选择器中做到这一点:
$('#mytable .customerIDCell').each(function() { alert($(this).html()); });
如果这让事情变得更容易
如果可以,可能值得在包含客户ID的TD上使用class属性,以便您可以编写:
$('#mytable tr').each(function() { var customerId = $(this).find(".customerIDCell").html(); });
基本上这与其他解决方案相同(可能是因为我进行了复制),但是如果你移动列,甚至将客户ID放入,只要你保留class属性.
顺便说一句,我认为你可以在一个选择器中做到这一点:
$('#mytable .customerIDCell').each(function() { alert($(this).html()); });
如果这让事情变得更容易
$('#mytable tr').each(function() { var customerId = $(this).find("td:first").html(); });
你正在做的是迭代表中的所有trs,在循环中找到当前tr中的第一个td,并提取其内部html.
要选择特定单元格,可以使用索引引用它们:
$('#mytable tr').each(function() { var customerId = $(this).find("td").eq(2).html(); });
在上面的代码中,我将检索第三行的值(索引从零开始,因此第一个单元格索引将为0)
这是你如何在没有jQuery的情况下做到这一点:
var table = document.getElementById('mytable'), rows = table.getElementsByTagName('tr'), i, j, cells, customerId; for (i = 0, j = rows.length; i < j; ++i) { cells = rows[i].getElementsByTagName('td'); if (!cells.length) { continue; } customerId = cells[0].innerHTML; }
一种不那么狡猾的方法:
$('#mytable tr').each(function() { if (!this.rowIndex) return; // skip first row var customerId = this.cells[0].innerHTML; });
这显然可以改为与非第一个细胞一起工作.
$('#mytable tr').each(function() { // need this to skip the first row if ($(this).find("td:first").length > 0) { var cutomerId = $(this).find("td:first").html(); } });
试试这个,
$(document).ready(function(){ $(".items").delegate("tr.classname", "click", function(data){ alert(data.target.innerHTML);//this will show the inner html alert($(this).find('td:eq(0)').html());//this will alert the value in the 1st column. }); });