1
因此,我製作了一個HTML CSS jQuery導航菜單的超級版本,並給出了下面的代碼,它處理子菜單項,就好像它是包含li一樣。我想我可以理解,它將子菜單ul看作li的一部分。問題在於我如何區分這種行爲,使得子菜單鏈接實際上會被遵循,而不會阻止默認設置。HTML CSS jQuery 2層菜單問題
<html>
<head>
<style type="text/css">
#content ul {margin:0;}
#content ul li {float:left; background:#000; list-style:none;}
#content ul li a {display:block; text-decoration:none; padding:10px 40px;}
#content ul li ul {position:absolute; padding:0;}
#content ul li ul li {float:none; background:#ccc;}
</style>
</head>
<body>
<div id="content">
<ul>
<li><a href="#">1</a></li>
<li><a href="#">2</a></li>
<li>
<a href="#">3</a>
<ul>
<li><a href="#">A</a></li>
<li><a href="#">B</a></li>
<li><a href="#">C</a></li>
<li><a href="#">D</a></li>
</ul>
</li>
<li><a href="#">4</a></li>
</ul>
</div>
</body>
</html>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<script type="text/javascript">
$('#content ul li').has('ul').click(function(e) {
/* code to show/hide submenus */
console.log(e);
e.preventDefault();
});
</script>
編輯:我想所有的頂級鏈接和子菜單鏈接正常工作。我試圖操作的唯一東西是具有子菜單的頂層li。
第一位打破所有頂級鏈接。我只想操縱包含子菜單的那個。 和添加類將確實很容易,但我沒有那種奢侈的原因,我不會去。 bla bla bla框架導航菜單。 – Oscar
你的更新擊中了頭部。活泉!謝謝! – Oscar