我正在处理的代码如下:
<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方法,但没有成功
答案 0 :(得分:21)
答案 1 :(得分:10)
尝试
$('tr.warning td:eq(1)').text();
如果您想要比使用:nth-child
选择器
$('tr.warning td:nth-child(2)').text()
答案 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>
容器的位置,因此只返回一个元素。)