parent().filter( ":first" ) 不起作用



我有:

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

因为没有tabletbodytr元素就不能有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()方法主要用于获取表单元素的值例如输入、选择和文本区域。

最新更新