我正在使用我在谷歌搜索后找到的JavaScript下拉导航菜单,我已经设法按照我想要的方式设置它。但是,在验证我的网站后,我得到了ul
标记的错误(错误:元素ul
在此上下文中不允许作为元素ul
的子元素。(从此子树中抑制更多错误。 ))。我不仅得到了这个错误,导航也不会按照它应该的方式工作。我尝试了ul
和li
标记的不同变体,并且移动了一些东西,我仍然无法让它正常工作。
<div class="nav">
<ul id="menu" class="menu">
<li><a href="#">One</a>
<ul>
<li class="submenu">
<a href="#">One</a>
<ul>
<li><a href="#">One</a></li>
<li><a href="#">Two</a></li>
<li><a href="#">Three</a></li>
</ul>
</li>
<li class="submenu">
<li><a href="#">Two</a></li>
<ul>
<li><a href="#">One</a></li>
<li><a href="#">Two</a></li>
<li><a href="#">Three</a></li>
</ul>
</ul>
</li>
<li><a href="#">Two</a>
<ul>
<li class="submenu"><a href="#">One</a></li>
<li class="submenu"><li><a href="#">Deny</a></li>
<ul>
<li class="noborder"><a href="#">One</a></li>
<li><a href="#">Two</a></li>
<li><a href="#">Three</a></li>
</ul>
</ul>
</li>
<li><a href="#">Three</a>
<ul>
<li class="submenu">
<a href="#">One</a>
</li>
</ul>
</li>
<li><a href="#">Four</a>
<ul>
<li class="submenu">
<a href="#">One</a>
</li>
</ul>
</li>
</ul>
答案 0 :(得分:1)
我不确定这是你的java脚本代码的问题。但是这些html标签的写作不匹配也可能导致这些问题。请再次检查打开和关闭标签,确保它们处于正确位置。当我浏览你的HTML代码时,我发现标签中存在一些不匹配。一个是 - 您的第一个菜单项两个写在两个li / li标记之间。但是您的第一个一个菜单项在这些li / li标签之间不。
答案 1 :(得分:1)
关闭您的父div标签,看看是否有帮助
也是这个......
<li class="submenu">
<li><a href="#">Two</a></li>
<ul>
<li><a href="#">One</a></li>
<li><a href="#">Two</a></li>
<li><a href="#">Three</a></li>
</ul>
</ul>
</li>
...可能需要重新工作,因为您在创建子ul标记之前嵌套了li标记。您只需要学习如何正确嵌套ul和li标签。这是我在stackoverflow上找到的discussion,它讨论了类似的问题。
一旦你的HTML正确,javascript过程应该更容易管理。
希望有所帮助。