0

我正在使用在谷歌搜索后找到的 JavaScript 下拉导航菜单,并且我已经设法按照我想要的方式设置它的样式。但是,在验证我的网站后,我收到ul标签错误(错误:在此上下文中ul不允许元素作为元素的子元素ul。(抑制来自此子树的进一步错误。))。我不仅收到此错误,而且导航无法正常工作。我尝试了ulandli标签的不同变体,并移动了一些东西,但我仍然无法让它正常工作。

<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>

4

2 回答 2

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 上找到的讨论类似问题的讨论。

一旦你的 HTML 正确,javascript 进程应该更容易管理。

希望有帮助。

于 2013-05-09T12:55:21.070 回答
1

我不确定这是您的 java 脚本代码的问题。但是这些html标签的书写不匹配也可能导致这类问题。请再次检查开始和结束标签,并确保它们的位置是否正确。当我浏览你的 html 代码时,我发现标签中有一些不匹配。一个是-您的第一个菜单项两个写在两个 li /li 标签之间。但是您的第一个菜单项不在这些 li /li 标签之间。

于 2013-05-09T12:45:30.637 回答