jquery突出显示菜单
我有一个脚本,在单击时突出显示导航菜单,但单击后所选类消失。这里是否有一个解决方法,可以使所选类在单击后生效jquery突出显示菜单,jquery,Jquery,我有一个脚本,在单击时突出显示导航菜单,但单击后所选类消失。这里是否有一个解决方法,可以使所选类在单击后生效 <script type="text/javascript"> $( document ).ready( function() { $( '#nav ul li a' ).click( function() { $( '#nav ul li' ).removeClass( 'selected' ); $( this ).parent(
<script type="text/javascript">
$( document ).ready( function() {
$( '#nav ul li a' ).click( function() {
$( '#nav ul li' ).removeClass( 'selected' );
$( this ).parent( 'li' ).addClass( 'selected' );
alert('hello');
});
});
</script>
<div id="nav">
<ul>
<li><a href="/">Home</a></li>
<li><a href="/blog/">Blog</a></li>
<li><a href="/about/">About</a></li>
</ul>
</div>
$(文档).ready(函数(){
$(#nav ul li a')。单击(函数(){
$('nav ul li').removeClass('selected');
$(this).parent('li').addClass('selected');
警惕(“你好”);
});
});
如果我理解正确。。。例如:
$(文档).ready(函数(){
$('#nav ul li')。单击(函数(){
$('#nav ul').children('li').removeClass();
$(this.addClass('selected');
});
});
#导航选择一个{背景:红色;显示:块}
您可以使用该方法获取选择了类的li
元素
$( document ).ready( function() {
$( "#nav ul li a" ).click( function() {
$( this ).parent( "li" )
.addClass( "selected" )
.siblings( ".selected" )
.removeClass( "selected" );
return false;
});
});
您可以在上看到此操作。作为作者的说明。。。使用return false
链接(转到新页面)将不再工作。但在您的示例中似乎不需要这样做?@gearsdigital,对此进行评论:我添加了return false
,因为我认为这可能是类被删除的原因(单击后页面会重新加载)。@Marcus I know…:)我的便条是给线程所有者的。它不应该是那么清楚。我也不确定他到底想做什么。。。通常,突出显示当前菜单项的最佳方式是基于cms的解决方案。如果没有额外的客户端站点脚本或jquery插件,他将永远无法在所有页面上获得当前项目活动。@gearsdigital,我对您的评论进行评论是为了说明为什么我为作者添加了return false
,而不是回答;)@gearsdigital如果突出显示当前菜单项的最佳方式是使用cms解决方案,那么我很想听听您的想法。顺便说一句,我用的是django。我觉得你的代码应该可以用。你能提供更多的信息吗?在上面的脚本中,我特意添加了警报(“hello”)来测试单击的li是否实际添加了所选的类,问题是在我单击警报框(函数退出)上的ok并突出显示的li(样式)消失后。将警报(“hello”)替换为“return false”会使高亮显示有效,但转到下一页不再像@gearsdigital所指出的那样有效
$( document ).ready( function() {
$( "#nav ul li a" ).click( function() {
$( this ).parent( "li" )
.addClass( "selected" )
.siblings( ".selected" )
.removeClass( "selected" );
return false;
});
});