如何使用jQuery(this)来定位特定的项目

时间:2012-05-16 02:18:51

标签: jquery hide this parent

提前感谢您的帮助,因为在jQuery方面我是一个完整的新手。首先,让我解释一下我正在尝试做什么。我正在构建一个wordpress主题,我希望在帖子列表中可以查看评论,而不仅仅是单个帖子,这是默认行为。为了防止评论列表在每个帖子上失控,我想使用jQuery隐藏它们,直到你点击一个按钮。以下是其中一篇帖子的html示例:

<div class="comments_section>
  <p class="comments_link">1 Comment</p>
  <p class="PostAComment_link">1 Comment</p>
  <ul class="Comments">
    <li>Comment1</li>
    <li>Comment1</li>
  </ul>
</div>

然后我有以下jQuery:

jQuery(document).ready(function() {
jQuery(".Comments").hide();
//toggle the componenet with class msg_body
jQuery(".comments_link").click(function()
{
  jQuery(".Comments").slideToggle();
});

因此,当您单击带有.comments_link类的文本时,它会使用.Comments类取消隐藏/隐藏UL。它可以工作,除了点击链接切换所有UL与该类。如何仅定位特定.comments_section div中的.comments div?

再次感谢!

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

jQuery(this).siblings(".Comments").slideToggle();

点击事件处理程序this中的单击是单击的元素,因此jQuery(this).siblings()(显然)为您提供该元素的兄弟,.siblings() method可选择让您选择匹配的兄弟一个特定的选择器(在这种情况下,“。评论”)。

这假设您有多个“comments_section”div,每个div中只有一个注释链接和注释列表。