首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当隐藏或显示其他div时,单击元素的jQuery切换类

当隐藏或显示其他div时,单击元素的jQuery切换类
EN

Stack Overflow用户
提问于 2020-09-17 20:49:39
回答 1查看 150关注 0票数 1

我使用下面的代码切换一些div,正在工作。

我希望删除单击元素的类“链接”,以及单击其他元素时删除它,并将其添加回前一个元素。被按下的主元素应该删除类,而所有其他元素都不应该删除。

代码语言:javascript
复制
$(this).toggleClass("link") ...

代码语言:javascript
复制
$('a').on('click', function() {
  var target = $(this).attr('rel');
  $("#" + target).toggle().siblings("div").hide();
});
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div id="cat-1" class="show">
  <div>
    <a class="link" rel="main-1" href="#">Main A</a>
  </div>
</div>

<div id="cat-2" class="show">
  <div>
    <a class="link" rel="main-2" href="#">Main B</a>
  </div>
</div>

<div id="cat-3" class="show">
  <div>
    <a class="link" rel="main-3" href="#">Main C</a>
  </div>
</div>

<div class="row">
  <div id="main-1" class="description" style="display:none;">
    <p>At vero eos et accusamus.</p>
  </div>

  <div id="main-2" class="description" style="display:none;">
    <p>et iusto odio dignissimos.</p>
  </div>

  <div id="main-3" class="description" style="display:none;">
    <p>At vero eos et accusamus et iusto odio dignissimos.</p>
  </div>
</div>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-17 21:11:20

这将检查link类(.hasClass)并相应切换。

父div是通过查找以"cat-" ("div[id^='cat-'] > div > a")开头的id来找到的。

代码语言:javascript
复制
$('a').on('click', function() {

if ($(this).hasClass("link")) {
  $("div[id^='cat-'] > div > a").addClass("link");
  $(this).closest("div").find("a").removeClass("link");
} else {
  $("div[id^='cat-'] > div > a").addClass("link");
}

});
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div id="cat-1" class="show">
  <div>
    <a class="link" rel="main-1" href="#">Main A</a>
  </div>
</div>

<div id="cat-2" class="show">
  <div>
    <a class="link" rel="main-2" href="#">Main B</a>
  </div>
</div>

<div id="cat-3" class="show">
  <div>
    <a class="link" rel="main-3" href="#">Main C</a>
  </div>
</div>

<div class="row">
  <div id="main-1" class="description" style="display:none;">
    <p>At vero eos et accusamus.</p>
  </div>

  <div id="main-2" class="description" style="display:none;">
    <p>et iusto odio dignissimos.</p>
  </div>

  <div id="main-3" class="description" style="display:none;">
    <p>At vero eos et accusamus et iusto odio dignissimos.</p>
  </div>
</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63946013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档