我无法弄清楚如何使用jQuery来设置当前导航项的样式。我已经尝试了几个教程,但无济于事。任何帮助,将不胜感激。 提前谢谢。
<div id="menu">
<ul id="nav">
<li><a href="http://poolguys.jaredmc.com/index.php">Contact</a></li>
<li><a href="http://poolguys.jaredmc.com/index.php">Gallery</a></li>
<li><a href="http://poolguys.jaredmc.com/pool_liners.php">Pool Liners</a></li>
<li><a href="http://poolguys.jaredmc.com/services.php">Services</a></li>
<li><a href="http://poolguys.jaredmc.com/about.php">About</a></li>
<li><a href="http://poolguys.jaredmc.com/index.php">Home</a></li>
</ul><!--end nav-->
</div><!--end menu-->
/** nav styling **/
//<![CDATA[
jQuery(function() {
jQuery('#nav li').each(function() {
var href = jQuery(this).find('a').attr('href');
if (href === window.location.pathname) {
jQuery(this).addClass('current');
}
});
});
//]]>
答案 0 :(得分:0)
您可以使用Attribute Equals Selector [name="value"]找出当前路径的导航项目。
$(document).ready(function () {
var str = location.href.toLowerCase();
var item = $('#nav li a[href="' + str + '"]');
if(item.length){
$("li.current").removeClass("current");
item.parent().addClass("current");
}
})
演示:Fiddle
答案 1 :(得分:0)
我想通了!!感谢您的帮助Will.i.am和Arun.p. 下面的代码行是在给每个页面提供正文ID后我需要的全部内容。
/** nav selector **/
var bodyid = $('body').attr('id');
$('#main_nav ul li a.'+ bodyid).addClass('current');