如:
[code="html"]
上述HTML片断,想通过JQuery实现:
实现的效果其实应该是这样的,如果我点击了“about”那个链接并跳转到那个页面后,这时把li的class设为"current"。就是当前在哪个页面就把对应的那个li项设为current。
[b]问题补充:[/b]
[code="javascript"]
[/code]
我是要在about页面上写啊。上述代码把class增加到a标签里了。我一直没法把弄到li里。
[b]问题补充:[/b]
哦,忘了说明,因为那个li的菜单代码是放置在了.net“母版页”中。
所以我就不能象楼下朋友说的那个直接加上一个current。
[b]问题补充:[/b]
呵~好像把问题复杂化了,简言之就是 如何实现设置a链接值为"/about"的li的class。
$("#menu a[href='/About']").parent("li").addClass('current');
$("#menu li:eq(2)").addClass("current")
楼上的是可以实现效果,但感觉不好。
因为li随时都有可能扩展增加 。
你这样写等于是定死了。
而且楼主的意思明显是这个class加的li不确定
是点击哪个li,就把class加到哪个li上面。
jQuery("#menu li").mouseover(
funcion(){
jQuery(this).toggleClass("current");
}
);
jQuery("#menu li").mouseout(
funcion(){
jQuery(this).toggleClass("current");
}
);
加上这个,就可以实现鼠标移上去 和 移走时候 移除和添加class的效果了。
PS: 是jQuery(this)还是this忘记了,忘记传进来的是dom对象还是jQuery对象了,
你自己试下,不是jQuery(this)就是this
呵呵,如果是鼠标移动的效果的话,那也可以
$("#menu li").hover(
function(){
$(this).addClass("current");
},
function(){
$(this).removeClass("current");
}
);
楼上的写法没错,不过jquery的精髓在于链式语法,你可以
jQuery("#menu li")
.mouseover(
funcion(){
jQuery(this).toggleClass("current");
}
).mouseout(
funcion(){
jQuery(this).toggleClass("current");
}
);
toggle是切换class,虽然你的写法可以达到效果,但是逻辑有点问题,比如说一个li原先有current,那么你鼠标移动上去就会把current给去掉,而移出来却把class又给加上去.
:oops: :oops:
跳转后页面已经刷新了..JavaScript是没办法这么做滴...
你直接在about的页面上加上一个current就好了...不用费这么大劲..