jquery - 使用 jQuery 定位元素

标签 jquery

我尝试使用 jQuery 在用户单击“a”元素时显示 div。然而我很挣扎,因为我无法精确定位 div。

查看下面的代码,您会看到我的程序列出了优惠(优惠#1 和优惠#2)。优惠 div 的正下方是评论 div(其中显示优惠的评论)。可以单击 .comment_icon 元素来显示/隐藏评论。

<div id="offer">
Offer#1 goes here
<a href="#" class="comment_icon">Show comments</a>
</div>
<div class="comments">
Comments for Offer#1 goes here
</div>

<div id="offer">
Offer#2 goes here
<a href="#" class="comment_icon">Show comments</a>
</div>
<div class="comments">
Comments for Offer#2 goes here
</div>

$('.comment_icon').toggle(
    function() {
        $('.comments').slideDown();
    },
    function() {
        $('.comments').slideUp();
    }
);

我的问题是,当单击 .comment_icon 元素时,它将显示带有 .comments 类的所有 div。但是,我只想在单击 .comment_icon 时显示属于相应报价的报价。

有什么方法可以进行这种目标定位吗?

最佳答案

首先,您不应该使用具有相同 id 的两个元素,但我们可以保持这种方式,这就是您想要的:

$('.comment_icon').click(function(e){
  $(this).closest('div#offer').next('.comments').slideToggle();
  e.preventDefault();
});

就像我说的,您想将 id='offer' 更改为 class='offer',然后只需将我的答案中的选择器更改为 div .报价.

关于jquery - 使用 jQuery 定位元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2038467/

相关文章:

Javascript 计算较深的颜色

javascript - 如何使用 jquery 或其他方式识别没有特殊 id 的 html 元素?

jquery - 在悬停时更改 jquery img src 使图像向下移动

jquery - 如何制作具有固定标题、滚动和列可调整大小的表格

javascript - 当我们在平板电脑上点击外部时如何关闭 bootstrap 3 下拉菜单?

jquery - 滚动时更改背景颜色

php - 如何使用 jQuery/Javascript 将变量发布到另一个页面?

jquery - 根据数字的值在 div 中设置样式数字

jquery - 如何使 fancybox 调整大小以自定义创建的 iframe 大小

带缩放功能的 JQuery 径向图