我有这个脚本在点击时突出显示导航菜单但在点击后所选的类消失了。这里是否有解决方法使所选类在单击后生效?
<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>
答案 0 :(得分:2)
您可以使用.siblings
方法获取具有li
类的selected
元素。
$( document ).ready( function() {
$( "#nav ul li a" ).click( function() {
$( this ).parent( "li" )
.addClass( "selected" )
.siblings( ".selected" )
.removeClass( "selected" );
return false;
});
});
您可以在jsFiddle上看到这一点。
答案 1 :(得分:0)
如果我理解正确的话......示例:http://jsfiddle.net/jgmgW/
$( document ).ready( function() {
$( '#nav ul li' ).click( function() {
$( '#nav ul' ).children('li').removeClass();
$( this ).addClass( 'selected' );
});
});
#nav .selected a{background:red;display:block}
<div id="nav">
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Blog</a></li>
<li><a href="#">About</a></li>
</ul>
</div>