【发布时间】:2015-02-05 10:32:02
【问题描述】:
我尝试更改菜单上的当前课程并加载页面。
<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 in item1。
但是当我评论这一行时:
$('#tableau').load($(this).find(a).attr('href'));
当前类更改,但加载不起作用。请问有人可以帮助我吗?
【问题讨论】:
-
您已经从
li元素中删除了current类,因此您的if条件是多余的。 -
你不需要检查这个
if (!$parent.hasClass('current')) {,因为你已经删除了上面的current类。其次$(this).find(a).attr('href')——这不会像this本身指向@987654335那样工作@ 标记,因此它不会在a中得到任何a。