0

提前感谢您的帮助,因为我是 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?

再次感谢!

4

1 回答 1

1

你可以试试这个:

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

click 事件处理程序this中的哪个元素被单击,因此jQuery(this).siblings()(显然)为您提供该元素的兄弟姐妹,并且该.siblings()方法可选地允许您选择与特定选择器匹配的兄弟姐妹(在本例中为“.Comments”)。

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

于 2012-05-16T02:22:42.983 回答