【发布时间】: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