我有一個導航欄有兩個下拉列表(作爲嵌套ul的)。我試圖切換subnavs時,其父母被點擊。或者當另一個父母被點擊時隱藏一個subnav。這裏的標記:這是最好的方法嗎?
<div id="nav-bar">
<a href="#">A link</a> |
<ul>
<li id="feedback">
<a href="javascript:void(0);">Feedback</a>
<ul class="subnav">
<li><a href="#">Give us feedback</a></li>
</ul>
</li>
</ul> |
<a href="#">Another link</a> |
<ul>
<li id="location">
<a href="javascript:void(0);">Pick your location</a>
<ul class="subnav">
<li><a href="#">Los Angeles</a></li>
<li><a href="#">New York</a></li>
</ul>
</li>
</ul>
</div>
,代碼:
//hide the subnavs and give them a little down arrow
$('ul.subnav').hide().parent().append('<small>▼</small>');
// show its subnav when clicked
$('#nav-bar ul li').click(function() {
var subnav = $(this).children('ul.subnav');
// hide the other's subnav if it's visible
if ($(this).attr('id') == 'location') {
subnav.toggle();
$('li#feedback').children('ul.subnav').hide();
} else {
subnav.toggle();
$('li#location').children('ul.subnav').hide();
}
});
仍然是一個新手,JS和jQuery,我想知道是否有做到我想要一個更簡潔的方式做以上。
編輯:一個更好的問題是,有沒有辦法做到這一點,而不必明確地給李的ID?
你應該說你正在努力達到的目的..而不是讓人們試圖從你的代碼中找出它。我們怎麼知道你想要做的是你的代碼是什麼? – Layke 2010-02-22 20:19:19
我試圖切換subnavs,當其父母被點擊。或者當另一個父母被點擊時隱藏一個subnav。 – farkenfooken 2010-02-22 20:20:31
Heed Laykes。你需要提供你想要做的事情的解釋,特別是你不喜歡你目前如何做的事情。 – 2010-02-22 20:20:58