使用Jquery获取td的唯一数据

时间:2013-02-19 23:42:15

标签: jquery html

我需要获取所选td项的数据。在这种情况下,说我想要每行的第二个<td>项的数据。我尝试了一个简单的Jquery来获取HTML,但它会获得相同的数据(即来自第一个<tr> - >第二个<td>的数据。我如何从第二行获取数据和连续的一行。

修改

我希望在点击相应的链接时获取数据(td的文本)。

<table>
<tr>
  <td>1</td>
  <td class="name">First</td>
  <td>something else</td>
  <td><a class="link">Order</a></td>

</tr>
<tr>
  <td>2</td>
  <td class="name">second</td>
  <td>something else</td>
  <a class="link">Order</a>

</tr>
</table>

我使用的函数只是从第一个td获取该类的数据。我想我需要使用像parent()这样的东西。但我对Jquery知之甚少。

var itemName = $('td.itemname').html();

var itemName = $('.itemname').html();

3 个答案:

答案 0 :(得分:3)

var tdValues = [];
$(".name").each(function () {
    tdValues.push($(this).text());
});

现在,变量td中的每个tdValues都有一个文本内容数组。

如果想要第二行:

var tdValue = $("tr:eq(1) .name").text();

如果您想要第二行并打开,

$("tr:gt(0) .name").each(...)

编辑:

$(".link").on('click', function () {
    var text = $(this).closest('tr').find('.name').text();
});

答案 1 :(得分:2)

假设您在单击链接时希望此功能正常工作,那么:

$(function(){
  $("a.link").click(function() {
    var secondTd = $(this).parents("tr").find("td.name").first();
    alert(secondTd.html());
  });
});

答案 2 :(得分:1)

使用nth功能,如下所示:

$('table tr td:nth-child(2)').text();

这将为您提供所有第二列的文本。 nth函数不是从零开始的。