为了账号安全,请及时绑定邮箱和手机立即绑定

尝试切换 dd 元素的可见性

尝试切换 dd 元素的可见性

慕哥9229398 2022-09-29 17:39:21
我正在尝试切换 dd 元素的可见性。例如,如果我单击一个 dt,它将显示 dd。然后,如果单击下一个 dt,则应隐藏最后一个 dd,并显示当前 dd。现在,我必须单击相同的dt来显示和隐藏它。这是代码的一部分:<template id="todo">    <div class="todo-item">        <dt class="todo-id"></dt>        <dt  class="todo-title"></dt>        <dd class="todo-description hide"></dd>    </div></template>这是处理它的侦听器: $('body').on('click', '.todo-item dt', function (e) {    $(this).siblings().closest('.todo-description').toggleClass('hide');     });
查看完整描述

1 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

要使其他描述消失,您需要在单击元素时向其添加类。通过首先找到同级元素,我们可以将其排除在使用 ;然后我们可以切换该元素上的类:hidedtddhide.nothide


$('body').on('click', '.todo-item dt', function(e) {

  let descr = $(this).siblings('.todo-description');

  $('.todo-description').not(descr).addClass('hide');

  descr.toggleClass('hide');

});

.hide {

  display: none;

}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div id="todo">

  <div class="todo-item">

    <dt class="todo-id">item #1 id</dt>

    <dt class="todo-title">item #1 title</dt>

    <dd class="todo-description hide">item #1 description</dd>

  </div>


  <div class="todo-item">

    <dt class="todo-id">item #2 id</dt>

    <dt class="todo-title">item #2 title</dt>

    <dd class="todo-description hide">item #2 description</dd>

  </div>

</div>


查看完整回答
反对 回复 2022-09-29
  • 1 回答
  • 0 关注
  • 105 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号