for 循环 returns 未定义

for loop returns undefined

我正在尝试创建一个根据可见元素更改 href link 的函数。

所以在这个例子中我希望我的 link 是 www.link.com/sample1/sample2

因为 div sample3 是隐藏的,所以不应该包含在这个例子的 url 中。

<div class="filters"> sample1</div>
<div class="filters"> sample2</div>
<div class="filters" style="display:none"> sample3 </div>

<script>
function rt100_link_function() {
    var link = document.getElementById("RT100link");
    var all = document.getElementsByClassName("filters");
    for (var i = 0, max = all.length; i < max; i++) {
      if (isHidden(all[i]))
        link.href = link.href;
      else
        var one = all[i]
        link.href = link.href + one.innerhtml;
      }
  }
    
  function isHidden(el) {
    var style = window.getComputedStyle(el);
    return ((style.display === 'none'))
  }
</script>

我面临的问题是 url 输出为 www.link.com/undefined - 我只想获取可见 div 的内容并将其包含在 url,用斜杠分隔 - 但 .innerhtml 不起作用?

感谢任何帮助!

使用one.innerHTML代替one.innerhtml之类的;

link.href = link.href + one.innerHTML;

.innerhtml 不是 DOM 元素 属性,所以它总是 return undefined .