首页 > 解决方案 > JQuery按ID属性隐藏或显示

问题描述

我正在尝试“显示”一个 div,同时使用 jQuery 隐藏其他兄弟 div。这是我的代码:

const jq = require('jquery');  


function hideAllBut (ShowDivID) {
  alert('test');
  jq('div.content > div').each( () => {
      if (jq(this).attr('id') === ShowDivID) {
          alert(jq(this).attr('id'));
          jq(this).show();
      } else {
        alert(jq(this).attr('id'));
          jq(this).hide();
      }
  });
}

该函数在测试时发出警报,并在“else”语句下两次(如预期)发出“未定义”警报。默认显示的内容是不隐藏的。所以我有两个问题 - 我调用'id'属性不起作用,并且 hide() 函数没有隐藏 div。任何想法我做错了什么?

html 看起来像:

<html>
  <body>
    <div class='content'>
      <div id='a'>
      </div>
      <div id='b' hidden>
      </div>
    </div
  </body>
</hhtml>

标签: javascriptjquery

解决方案


推荐阅读