0
<ul id="shortcuts">
    <li class='current'><a href="<?=base_url()?>home" id="home">Home</a></li>
    <li ><a href="<?=base_url()?>message"  id='message'>Messages</a></li>

</ul>

<script src="<?=base_url()?>js/libs/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $('#shortcuts li').click(function(e){
         $('#shortcuts li').removeClass('current');
         $(this).addClass('current');
         e.preventDefault();
    });
});

</script>

问题是我想突出显示选中的选项卡,当单击此选项卡时它已完成 bt 它不转到下一页意味着 href 不起作用。

4

3 回答 3

0

如果我对您的理解正确,您希望在单击链接时页面不更改,但您希望更改列表项的样式。这应该可以解决问题:

$('#shortcuts li a').click(function(e){
     // Prevent the link from changing the page
     e.preventDefault();

     // Remove 'current' from any list item with the 'current' class
     $('#shortcuts li.current').removeClass('current');

     // Add the 'current' class to the link's parent (its list item container)
     $(this).parent().addClass('current');
});

您当前所拥有的是告诉浏览器在单击列表项时不执行任何默认操作,而不是在单击链接本身时不执行任何默认操作,使其无法正常工作。

于 2013-02-13T13:46:08.597 回答
0

请检查您的服务器是否允许使用短打开标签。它非常基本,但是,请查看它。

在 php.ini 中,有一个指令:

short_open_tags

对于您的脚本,它必须打开。请检查一下。

于 2013-02-13T13:47:28.897 回答
0

可能对你有帮助

$(document).ready(function(){
    $('#shortcuts li a').click(function(e){
         e.preventDefault();
         $('#shortcuts li').removeClass('current');
         $(this).parent().addClass('current');
         return false;
    });
});
于 2013-02-13T13:47:46.973 回答