【问题标题】:JavaScript, create anchor with array, doesn't work [duplicate]JavaScript,用数组创建锚点,不起作用[重复]
【发布时间】:2021-07-07 10:02:04
【问题描述】:

我尝试使用 jsfiddle,它在那里正常工作,但无论出于何种原因,当我在 chrome 上运行该文件时,该文件无法正常工作。 我同时还有其他代码(特别是表单验证),但它们工作正常,并且也没有冲突的 var 和函数。我知道我应该只使用其他更简单的方法,但不幸的是,这是在下拉列表中使用数组的要求的一部分

function makeAnchor() {
  var div = document.createElement('div');
  var options = ['ENCLOSED SPACE SANITISATION', 'EVENT HYGIENE MANAGEMENT', 'WIDE AREA SANITISATION', 'OBJECT DISINFECTION'];

  for (var i = 0; i < options.length; i++) {
    // Create the list item:
    var a = document.createElement('a');
    var ok = options[i]
    a.href = "./service" + (i + 1) + ".html"
    a.appendChild(document.createTextNode(ok));

    div.appendChild(a);
  }
  return div;
}

document.getElementById('dropsc').appendChild(makeAnchor());
<!-- Nav Bar -->
<nav class="sticky-top">
  <ul>
    <li class="dropdown font-josefin">
      <a class="dropbtn">SERVICES</a>
      <div id="dropsc" class="dropdown-content">
        <!-- <a href="./service1.html">ENCLOSED SPACE SANITISATION</a>
                    <a href="./service2.html">EVENT HYGIENE MANAGEMENT</a>
                    <a href="./service3.html">WIDE AREA SANITISATION</a>
                    <a href="./service4.html">OBJECT DISINFECTION</a> -->
      </div>
    </li>
    <li class="font-josefin"><a href="./aboutme.html">ABOUT ME</a></li>
    <li class="font-josefin"><a href="./enquiry.html">ENQUIRY</a></li>
    <li class="font-josefin"><a href="./enhancements.html">ENHANCEMENTS</a></li>
    <li class="font-josefin"><a href="./disclaimer.html">DISCLAIMER</a></li>
  </ul>
</nav>

【问题讨论】:

  • 描述“没有工作”的确切含义?应该发生什么,反而会发生什么,是否有任何错误?请将此设为minimal reproducible example,以便我们可以看到/理解document.getElementById('dropsc').appendChild(makeAnchor()); 何时执行。
  • window.addEventListener("load",function() {document.getElementById('dropsc').appendChild(makeAnchor());}); 这是 JSFiddle 对您的代码所做的操作
  • @Andreas 对此感到抱歉,当我在 JsFiddle 上运行它时,我的代码确实在 JsFiddle 上运行,当我将鼠标悬停在服务上时,出现下拉列表,但我打开 html,它没有工作,什么也没有出现跨度>
  • @mplungjan 非常感谢,我用它替换了我的代码,令人惊讶的是它可以工作,非常感谢,我会在稍后阅读它的作用。

标签: javascript html arrays for-loop anchor


【解决方案1】:
document.getElementById('dropsc').appendChild(makeAnchor().cloneNode(true));

试试这个

【讨论】:

  • 嗨,对不起,但是当我替换它时这不起作用,但价值是我可以搜索它的作用,以便我知道你为什么推荐我这样做。还是谢谢你
猜你喜欢
  • 1970-01-01
  • 2014-09-15
  • 2016-02-26
  • 1970-01-01
  • 2014-08-20
  • 1970-01-01
  • 1970-01-01
  • 2012-08-26
  • 1970-01-01
相关资源
最近更新 更多