我尝试在菜单上更改当前的课程,然后加载页面。
<ul class="menu2">
<li class="current" id="1"><a href="?stat=1"><b>item1</b></a></li>
<li id="2"><a href="?stat=2" ><b>item2</b></a></li>
<li id="3"><a href="?stat=3" ><b>item3</b></a></li>
<li id="4"><a href="?stat=4" ><b>item4</b></a></li>
</ul>
$('.menu2 li a').click(function(e) {
$('.menu2 li').removeClass('current');
var $parent = $(this).parent();
if (!$parent.hasClass('current')) {
$parent.addClass('current');
$('#tableau').load($(this).find(a).attr('href'));
}
e.preventDefault();
});
当我点击item2
时,它会使用好的参数?stat=2
加载页面。但目前的课程并不好,它在active
中保持item1
。
但是当我评论这一行时:
$('#tableau').load($(this).find(a).attr('href'));
当前的类更改,但加载不起作用。请有人帮帮我吗?
答案 0 :(得分:0)
你的逻辑有点偏差。首先,您已从所有current
元素中删除了li
类,因此if
条件是多余的。其次,$(this)
引用a
元素,因此$(this).find('a')
不会返回任何内容。试试这个:
$('.menu2 li a').click(function(e) {
e.preventDefault();
var $a = $(this), $parent = $a.parent();
$parent.addClass('current').siblings().removeClass('current');
$('#tableau').load($a.attr('href'));
});