【问题标题】:Click Link add a class on an adjacent element单击链接在相邻元素上添加类
【发布时间】:2014-03-16 04:51:19
【问题描述】:

这里有很多类似的例子,但到目前为止我所做的一切似乎都不起作用。

<script type="text/javascript">
    $('.check').on('click', function() {
        var element = $(this).next('.photo');
        $(element).toggleClass('selected');
    });
</script>

这是html:

<div class="box">
    <a class="check" href="#"></a>
    <img class="photo" src="/image.jpg">
</div>
<div class="box">
    <a class="check" href="#"></a>
    <img class="photo" src="/image.jpg">
</div>
<div class="box">
    <a class="check" href="#"></a>
    <img class="photo" src="/image.jpg">
</div>

等等。

我想要做的是,当您单击 a 标签时,它会在与其自身相同的 div 内的图像中添加一个类。我希望能够“选择”多个图像。不止一个。

感谢您的帮助!

【问题讨论】:

  • 在 dom 就绪处理程序中添加脚本并尝试 jQuery(function ($) { $('.check').on('click', function () { var element = $(this).next('.photo'); $(element).toggleClass('selected'); }); })
  • @ArunPJohny 他刚刚给出了一个示例场景,他询问该场景是否变得像在该锚标签之后附加了多个图像标签..
  • @Arun P Johny 做到了,我是 js 新手,所以感谢您指出这一点。我也是stackoverflow的新手,或者我会把你的作为答案。谢谢!

标签: jquery html next toggleclass


【解决方案1】:

使用.nextAll() 选择所有与提供的选择器相邻的元素,

试试,

var element = $(this).nextAll('.photo');

【讨论】:

    【解决方案2】:

    试试这个

    $('.check').on('click', function() {
        $(this).siblings('img').toggleClass('selected');
    });
    

    这会抓取点击锚点的img siblings() 并切换它们的selected 类。

    【讨论】:

      【解决方案3】:

      这应该适用于您正在尝试做的事情。

      $('.check').click(function()
      {
          $(this).find('.photo').toggleClass('selected');
      });
      

      【讨论】:

        猜你喜欢
        • 2015-01-22
        • 2011-01-03
        • 1970-01-01
        • 2019-07-07
        • 1970-01-01
        • 2014-06-28
        • 1970-01-01
        • 2017-03-19
        • 1970-01-01
        相关资源
        最近更新 更多