我正在测试@Ilan Biala写的这个小提琴
它使用jquery 1.9.0、onDomReady和Normalized css在菜单中添加子菜单,正如您在 jsfiddle 上看到的那样。例如html是:
<nav>
<ul>
<li><a href="#" >Sec1</a></li>
<li><a href="#" >Sec2</a></li>
<li><a href="#" class="current">Sec3</a></li>
<li><a href="contacto.html" >Sec4</a></li>
<ul class="menu">
<li><a href="#" class="documents" data-icon="">Documents</a></li>
<br>
<li><a href="#" class="messages" data-icon="">Messages</a></li>
<br>
<li><a href="#" class="signout" data-icon="">Sign Out</a></li>
</ul>
</ul>
</nav>
结果是:
但是有一个问题,我将代码添加到我可以访问的服务器,并添加了以下行:
<link rel="stylesheet" type="text/css" href="css/menu.css" />
<script type="text/javascript" src="js/jquery-1.9.0.min.js"></script>
<script type="text/javascript" src="js/menu.js"></script>
模仿 jsfiddle 中的那些。html是:
<!doctype html>
<head>
<title>Example</title>
<link rel="stylesheet" type="text/css" href="css/menu.css" />
<script type="text/javascript" src="js/jquery-1.9.0.min.js"></script>
<script type="text/javascript" src="js/menu.js"></script>
</head>
<body>
<nav>
<ul>
<li><a href="#" >Sec1</a></li>
<li><a href="#" >Sec2</a></li>
<li><a href="#" class="current">Sec3</a></li>
<li><a href="contacto.html" >Sec4</a></li>
<ul class="menu">
<li><a href="#" class="documents" data-icon="">Documents</a></li>
<br>
<li><a href="#" class="messages" data-icon="">Messages</a></li>
<br>
<li><a href="#" class="signout" data-icon="">Sign Out</a></li>
</ul>
</ul>
</nav>
</body>
</html>
那么,正如您所看到的,子菜单不起作用,是什么导致了故障?
我怀疑不同的问题:
也许是包装代码的onDomReady属性,因此它将在 onDomReady 窗口事件中运行,如果是这样,我该如何在代码上指出这一点:
$(document).ready(function() { //在 menu.js 中添加所有 JS 代码 });
规范化的 css,但应该进行重置....
jQuery 1.9.0 中存在问题,可能是使用 js 的放置顺序...
你怎么看?