得到第n个TD的文本,所有tr都有特定的类

时间:2013-08-24 08:05:25

标签: jquery jquery-ui

我正在处理的代码如下:

<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>

我希望得到所有第二个TD的文本,并且所有tr都有类警告。

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

4 个答案:

答案 0 :(得分:21)

试试这个

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

演示Here

答案 1 :(得分:10)

尝试

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

如果您想要比使用:nth-child选择器

更具体的答案
$('tr.warning td:nth-child(2)').text()

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

答案 2 :(得分:3)

使用jQuery的:nth-child选择器和.each()应该适合您。

小提琴:http://jsfiddle.net/chucknelson/KDy8X/

<强> Jquery的

$(function() {
    //use the :nth-child selector to get second element
    //iterate with .each()
    $('table tr.warning td:nth-child(2)').each(function(index, element) {
        var name = $(element).html();
        $('#name-list').append('<li>' + name + '</li>');
    });
});

一些额外的HTML:

<div id="warning-names">
    Warning Names:
    <ul id="name-list">
    </ul>
</div>

答案 3 :(得分:1)

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

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

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

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