【问题标题】:Hide 'this' and another element using jquery使用 jquery 隐藏“this”和另一个元素
【发布时间】:2018-02-26 10:46:07
【问题描述】:

考虑一下我的元素结构

<a href="#" class="close">X</a>
<div class="container">Lorem ipsum</div>

现在点击锚标记我需要隐藏两个元素,

$('body').on('click', '.close', function(){
  $(this).hide();
  $('.container').hide();
});

如何将两个hide() 语句链接到一个?

【问题讨论】:

  • 您需要这个有什么特别的原因吗?
  • 有什么问题?
  • @FedericoklezCulloca - 主要用于学习和减少代码行数。
  • @GibinEalias 好了。一个班轮是可能的:) 将它们分组。

标签: javascript jquery html this


【解决方案1】:

您可以使用add() 将多个选择器组合成一个 jQuery 对象:

$('body').on('click', '.close', function() {
  $(this).add('.container').hide();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<a href="#" class="close">X</a>
<div class="container">Lorem ipsum</div>

【讨论】:

    【解决方案2】:

    不,你不能,因为选择器不同。只有在同一个选择元素上进行操作时才能链接。

    但是,如果您想最小化该行,您可以考虑将它们分组而不是使用add() 链接。

    $(this).add('.container').hide();
    

    $('.container').add(this).hide();
    

    【讨论】:

      【解决方案3】:

      你可以使用下面的

      $('body').on('click', '.close', function(){
          $(".close, .container").hide();
      });
      

      【讨论】:

      • 这会隐藏页面上的所有关闭按钮。
      猜你喜欢
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 2014-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多