首页 > 解决方案 > 目标只点击锚点而不是兄弟姐妹

问题描述

我有一个添加类的功能,并在添加active类时更改锚的文本。

我的问题是我有多个同一类的锚点,当我单击一个时,它们的所有文本都发生了变化。我只想针对我点击的那个有 class active

function bindMoreInfoClickHandler() {
  $('.more-info').on('click', function() {
    var $this = $(this);
    $this.closest('.container-outer').toggleClass('active');

    if ($('.micro-accordion-container--outer').hasClass('active')) {
      $('.toggle-text').text('Less Info')
    } else {
      $('.toggle-text').text('More Info')
    }
  });
}

标签: javascriptjqueryhtml

解决方案


$('.toggle-text').text('Less Info')

上面的行将选择您的所有.toggle-text元素。如果.toggle-text是您的子元素,.container-outer您可以执行以下操作:

$('.container-outer.active').find('.toggle-text').text('Less Info');
$('.container-outer:not(.active)').find('.toggle-text').text('More Info');

它应该可以工作。


推荐阅读