【问题标题】:child div for multiple parent divs accessed by class is not getting hidden by .hide()类访问的多个父 div 的子 div 不会被 .hide() 隐藏
【发布时间】:2021-03-28 17:04:15
【问题描述】:
            var triggers = document.getElementsByClassName('trigger');
            for (x in triggers) {
              cur = triggers[x]
              if (cur.offsetHeight < 135) {
                console.log('hiding we');
                // prevents it from propagating to parentNode and changing it
                e.preventDefault();
                $(cur).find('.trigger-we').hide();
                console.log('icon should be hidden')
              }
              else {
                e.preventDefault();
                // $(cur).find('.trigger-icon').show();
                $(cur).find('.trigger-we').show();
              }
            }
          });

我有以下代码用于在调整窗口大小时根据父 div 的高度隐藏父 div 内的特定元素。 “触发器”类下有多个父 div,我遍历它们中的每一个(通过 for 循环)并检查其偏移高度(显示高度),如果它小于某个阈值,我隐藏该父级的特定 div 子级div,但它们并没有被隐藏,有人知道为什么吗?

【问题讨论】:

  • 您应该使用for-of-loop,而不是for-in-loopDifference
  • 发布生成的 HTML。
  • 生成的 html 根本不受父 div 大小变化的影响,当我调整浏览器窗口大小时子 div 不会隐藏
  • 为什么是 for-of-loop 而不是 for-in-loop?

标签: javascript html jquery css


【解决方案1】:

最终通过 foreach 函数遍历类中的每个元素来解决我的问题

(parentdiv-class).each(function () {code})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-20
    • 2013-12-05
    • 1970-01-01
    • 1970-01-01
    • 2019-06-25
    • 1970-01-01
    • 1970-01-01
    • 2011-08-20
    相关资源
    最近更新 更多