parent()。filter(“:first”)不起作用

时间:2012-03-16 06:48:44

标签: jquery

我有:

<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”?

3 个答案:

答案 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-childhttp://api.jquery.com/first-child-selector/ :firsthttp://api.jquery.com/first-selector/ .first()http://api.jquery.com/first/

您不应将.val()用于非输入元素,而应使用.text()函数。

  

.val()方法主要用于获取表单元素的值   例如input,select和textarea。

答案 2 :(得分:0)

因为没有tdtabletbody元素,您无法拥有tr个元素。另外,.filter()过滤了一系列匹配元素,如其他答案所示,将选择器置于.children()调用中。