我正在尝试使用jQuery为我无法控制的表获取td值。在这个网站上发布了一个很好的例子,但它引用了每个tr中的一列而不是多列。
我也没有表格或行的ID ... td只有class=columndata
。
$('#mytable tr').each(function() {
var customerId = $(this).find("td").eq(2).html();
}
将获得固定tr的单个td?
这是我的表数据:
<tr valign="top">
<td class="columnaction" valign="center">
<img src="../images/spacer.gif" width="1" height="1" />
<a href="javascript:void(0);" class="columnactionlink" onclick="return doAccept('599577', '1', '','');" alt="Accept">Accept</a>
</td>
<td class="columndata">Message</td>
<td class="columndata">Test</td>
<td class="columndata"></td>
<td class="columndata"></td>
<td class="columndata">04/09/2011 23:59</td>
<td class="columndata">04/09/2011</td>
<td class="columndata">05/12/2011 07:00</td>
<td class="columndata">05/13/2011 07:00</td>
<td class="columndata"></td>
<td class="columndata">Doe, Jeffrey A. (xx)</td>
<td class="columndata">913014405580</td>
<td class="columndata">Skip</td>
<td class="columndata">04/09/2011 16:37</td>
<td class="columndata">C</td>
<td class="columndata">Doe,J</td>
<td class="columndata">04/09/2011 16:37</td>
<td class="columndata">04/09/2011 23:59</td>
<td class="columndata">04/09/2011 16:34</td>
</tr>
以下是对类似问题的引用: How to get a table cell value using jQuery?
答案 0 :(得分:5)
这是你需要的选择器:
$('#mytable tbody tr td:nth-child(2)')
答案 1 :(得分:3)
正如@danip在他的陈述中指出的那样,你可以通过直接访问TD 一个有效的CSS选择器
$('#mytable tbody tr td:nth-child(2)')
稍微描述一下他在这里做了什么
你可以像这里一样迭代返回的dom元素,并通过html()或()text
获取HTML或Textcontent$('#mytable tbody tr td:nth-child(2)').each(function() {
output += $(this).text();
});
看到这个jsfiddle自己尝试一下
此致
答案 2 :(得分:3)
在这里的背景下,但可能会帮助你: 如果你有超过100行,上面的代码会慢一点,1000行和性能会慢得多,在这种情况下你可以使用:
$('td:nth-child(2)', '#mytable') //$(selector, context)
和一个for循环,你应该首先缓存这个对象,如
var items = $('td:nth-child(2)', '#mytable');
for(var i=0;i<items.length;i++)
{
//your code
}
此致 SJ
答案 3 :(得分:1)
使用.text()
代替.html()
。