我有:
<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"?
尝试
alert($(this).parent().parent().children().filter('td:first').text());
或者你可以使用
$(this).parent().parent().children().first().text()
因为没有table
、tbody
和tr
元素就不能有td
元素。此外,.filter()
过滤匹配元素的数组,如其他答案中所建议的,将选择器放置在.children()
调用中。
尝试
alert($(this).parent().parent().children('td:first').text());
Fiddle: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()方法主要用于获取表单元素的值例如输入、选择和文本区域。