11

我正在处理的代码如下:

<table>
<tr class="warning">
    <td> 1 </td>
    <td> name </td>
    <td> address </td>
    <td> phone no </td>
    <td> Location </td>
</tr>
<tr>
    <td> 3 </td>
    <td> name2 </td>
    <td> address2 </td>
    <td> phone no2 </td>
    <td> Location2 </td>
</tr>
<tr class="warning">
    <td> 6 </td>
    <td> name5 </td>
    <td> address5 </td>
    <td> phone no5 </td>
    <td> Location5 </td>
</tr>
<tr>
    <td> 7 </td>
    <td> name6 </td>
    <td> address6 </td>
    <td> phone no6 </td>
    <td> Location6 </td>
</tr>

我喜欢获取所有带有类警告的所有 tr 的所有第二个 TD 的文本。

我尝试过使用 _.each 方法但没有成功

4

4 回答 4

25

尝试这个

$('tr.warning').each(function(){  
    alert($(this).find('td').eq(1).text());
    });

在这里演示

于 2013-08-24T11:12:58.387 回答
11

尝试

$('tr.warning td:eq(1)').text();

如果您想要比使用:nth-child选择器更具体的答案

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

http://jsfiddle.net/dbuZG/5/

于 2013-08-24T08:07:01.713 回答
4
于 2013-08-24T08:21:15.527 回答
1

这将获得数组中的名称列表:

var names = $('tr.warning td:nth-child(2)').map(function() {
    return $(this).text();
}).get();

演示在http://jsfiddle.net/alnitak/CjQAh/

(使用:eq(1)不起作用,因为:eq应用于整个返回元素集合中的索引,而不是元素相对于其<tr>容器的位置,因此只返回一个元素)。

于 2013-08-24T08:10:18.313 回答