我有:
<td>firstTD</td>
<td>secondTD</td>
<td>thirdTD</td>
<td>
<img src="img/cross.png" onclick="alert($(this).parent().parent().filter('td:first').val());">
</td>
为什么我没有收到警报:“firstTD”?
答案 0 :(得分:6)
试
alert($(this).parent().parent().children().filter('td:first').text());
或者您可以使用
$(this).parent().parent().children().first().text()
答案 1 :(得分:0)
尝试
alert($(this).parent().parent().children('td:first').text());
小提琴:http://jsfiddle.net/kTkK4/
获取第一个元素的选项:
:first-child
:http://api.jquery.com/first-child-selector/
:first
:http://api.jquery.com/first-selector/
.first()
:http://api.jquery.com/first/
您不应将.val()
用于非输入元素,而应使用.text()
函数。
.val()方法主要用于获取表单元素的值 例如input,select和textarea。
答案 2 :(得分:0)
因为没有td
,table
和tbody
元素,您无法拥有tr
个元素。另外,.filter()
过滤了一系列匹配元素,如其他答案所示,将选择器置于.children()
调用中。