我有這個代碼的html:如何確定jQuery中哪個ul li是活動的?
<div id="menu">
<div id="memberDetails"><h3><span>Welcome,</span><br /> <em>John Doe</em></h3> </div>
<ul>
<li class="active"><a href="#home" class="contentLink">Home <span class="icon"></span></a></li>
<li><a href="#email" class="contentLink">Email<span class="icon"></span></a></li>
<li><a href="#sns" class="contentLink">Social Networking<span class="icon"></span></a></li>
<li><a href="#promos" class="contentLink">Promos<span class="icon"></span></a></li>
<li><a href="#rewards" class="contentLink">Rewards<span class="icon"></span></a></li>
</ul>
</div>
<div id="email-menu" style='display:none'>
<div id="email-memberDetails"><h3><span>Welcome,</span><br /> <em>Another Menu</em></h3> </div>
<ul>
<li><a href="#all" class="contentLink">All <span class="icon"></span></a></li>
<li><a href="#yahoo" class="contentLink">Yahoo<span class="icon"></span></a></li>
<li><a href="#gmail" class="contentLink">Gmail<span class="icon"></span></a></li>
<li><a href="#hotmail" class="contentLink">Hotmail<span class="icon"></span></a></li>
</ul>
</div>
我的外部JS代碼。
$(document).bind("mobileinit", function(){
$.mobile.pushStateEnabled = true;
});
$(function(){
var menuStatus;
// Show menu
$("a.showMenu").click(function(){
if(menuStatus != true){
$(".ui-page-active").animate({
marginLeft: "160px",
}, 300, function(){menuStatus = true});
return false;
} else {
$(".ui-page-active").animate({
marginLeft: "0px",
}, 300, function(){menuStatus = false});
return false;
}
});
$('div[data-role="page"]').live('pagebeforeshow',function(event, ui){
menuStatus = false;
$(".pages").css("margin-left","0");
});
// Menu behaviour
$("#menu li a").click(function(){
var p = $(this).parent();
if($(p).hasClass('active')){
$("#menu li").removeClass('active');
} else {
$("#menu li").removeClass('active');
$(p).addClass('active');
}
});
// Tabs
$('div[data-role="navbar"] a').live('click', function() {
$(this).addClass('ui-btn-active');
$('div.content_div').hide();
$('div#' + $(this).attr('data-href')).show();
});
});
在我上面的代碼中,我有兩個div,其中包含兩個不同的ul li內容。現在我想要做的是當鏈接<li><a href='#email'>
是點擊/活動時,它會隱藏<div id='menu'></div>
,現在顯示<div id='email-menu'></div>
。我怎麼能在jQuery中做到這一點?如何確定電子郵件鏈接是否處於活動狀態?
您的代碼存在隱藏菜單的問題,無論何時點擊標籤之一,雖然點擊一個不是「電子郵件」。 – InspiredJW 2012-02-02 02:24:37
這是我的目的。我認爲發佈者有其他菜單:#sns-menu,#promos-menu,#rewards-menu,#all-menu,#yahoo-menu,#gmail-menu,#hotmail-menu :) – 2012-02-02 02:43:18