2010-03-03 90 views
0

选项卡菜单之间的“当前”类下面的HTML代码,即:移动基于选择

<div id="listnav"> 
    <ul id="nav"> 
    <li id="home"><a href="#" id="current">Home</a></li> 
    <li id="features"><a href="#">Features</a></li> 
    <li id="whysp"><a href="#">Why sP</a></li> 
    <li id="screenshots"><a href="#">Screen Shots</a></li> 
    <li id="faq"><a href="#">FAQ</a></li> 
    <li id="contactus"><a href="#">Contact Us</a></li> 
    </ul> 
</div> 

当第一次进入该网页,我的主页选项卡设置为基于href标签内的id =“current”的电流。

我的问题是,当用户点击“功能”选项卡时,我如何通过jQuery,从主页选项卡中删除class = current并添加到功能a href标签,以便我的功能选项卡现在显示作为目前的标签等与其他人?

我也有以下的jQuery功能:

$("#home").click(function(){ 
    $("#content").load('home.html'); 
}); 

$("#features").click(function(){ 
    $("#content").load('features.html'); 
}); 

任何帮助将是巨大的。

谢谢。

+0

你输入的是“删除id = current“,我想你的意思是,”删除class = current“。 – Pointy 2010-03-03 13:33:50

+0

感谢Pointy - 已更新我的帖子。 – tonyf 2010-03-03 13:52:06

回答

4
$('#nav a').click(function(){ 
    $("#nav").find("a").removeAttr("id"); 
    $(this).attr("id" , "current"); 
}); 
+0

感谢大家,感谢拉胡尔 - 完美的工作。 – tonyf 2010-03-03 13:52:47

0

试试这个:

$('#nav a').click(function(){ 
$(this).attr('id','current').parent('li').siblings() 
     .children('a').removeAttr('id'); 
}); 
0

我想你可以使用一个名为“当前”类,然后删除/添加使用.removeClass().addClass()

0
$("#features").click(function(){ 
    $("#current").removeAttr("id"); 
    $("#features a").attr("id", "current"); 
    $("#content").load('features.html'); 
}); 

我会建议使用类,而不是当前的ID

0

没有必要重复您的导航代码为每个链接:-)

$("#nav li a").click(function() 
{ 
    // Remove old current 
    $("#current").removeAttr("id"); 
    // Set new current 
    $(this).attr("id", "current"); 
    // Load content for clicked nav 
    $("#content").load($(this).closest("li").attr("id") + '.html'); 
    // Prevent click from jumping to the top of the page 
    return false; 
});