1

我对 JQuery 相当陌生,并且在某些我确信很简单的事情上遇到了麻烦。这是我正在使用的一些 html 的示例:

<tr>
<td><div class="testclass"><p>Test text</p></div></td>
<td><button class="testButton">Button text</button></td>
</tr>​

单击按钮时,我想<p>在前一个单元格中获取值。这是我目前尝试选择它的方式:

var text = $(".testButton").parent().parent().closest('p').text();

onClick按钮的功能内,我也尝试过:

$(this).prev('p').text();

然而,它总是null。我已经在 jsfiddle 上搞砸了一段时间,试图做到这一点,但没有运气。任何提示将不胜感激。

4

3 回答 3

3

尝试使用:

$(".testButton").click(function(){
 alert($(this).parent().parent().find('p').text());
});

演示:http: //jsfiddle.net/ZsLZ2/

于 2012-10-20T10:27:49.787 回答
2

为什么不

var text = $(".testButton").parent().prev().find('p').text();

请注意,如果您有很多按钮,则应使用 $(this) 选择好的按钮:

$('.testButton').click(function(){
    var text = $(this).parent().prev().find('p').text();
    alert(text);
});​

示范

于 2012-10-20T10:25:45.267 回答
1

在您的情况下,您可以使用兄弟姐妹

$('.testButton').click(function() {
    alert($(".testButton").siblings().text())
});

演示:http: //jsfiddle.net/3a69A/

于 2012-10-20T10:32:09.190 回答