jquery如何选择this.parent?

时间:2009-11-15 09:50:00

标签: jquery

下面的代码段每页重复多次。当我点击.load_comments时,我如何选择.answer_comments?

我想最简单的方法是首先选择父(.single_answer),然后只使用后代选择器来选择我需要的div。我在选择.single_answer父级时遇到问题。使用$(“。single_answer:parent”)选择页面上的所有div,这是有道理的,因为它们都是某些东西的父母。

我不确定是否可以使用$(this).parent ...?我无法弄清楚语法,但我知道我很接近。

感谢您的任何指示。

<div class="single_answer">
<p class="answer_author">On 12 Nov X said: </p>
<p class="answer_text">Bla</p>
<a href="#" id="" onclick="return false" class="load_comments">View 2 Comments</a>
<a href="#" id="aid_16-qid_54" onclick="return false" class="comment">Comment</a>
<div class="container answer_form_container"> </div>
<div class="container answer_comments"> </div>
</div>

4 个答案:

答案 0 :(得分:4)

试试这个:

$('.single_answer .load_comments').click(function() {
    $(this).closest('.single_answer').find('.answer_comments');
    return false;
}

这对结构的变化会更加健壮:它允许找到最近的祖先(父母,祖父母等)。

或者,如果您知道answer_comments始终是同一父级的另一个孩子:

$(this).siblings('.answer_comments')

......也会发现它。

答案 1 :(得分:0)

parent是一种方法,而不是一种属性。请改为$(this).parent()

答案 2 :(得分:0)

如果您知道类名,为什么不直接选择元素$('.answer_comments')而不是通过父级?或者,也可以选择要选择唯一id的元素,然后选择:$('#my_unique_element')

答案 3 :(得分:0)

我认为这就是你所追求的目标。

$('.load_comments').click(function() { 

$(this).siblings('.answer_comments').html('this text will appear in the appropriate .answercomments div');

});