当我选择标签时,href不起作用

时间:2013-02-13 13:42:37

标签: php jquery codeigniter

<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不起作用。

3 个答案:

答案 0 :(得分: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');
});

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

答案 1 :(得分:0)

请检查服务器中是否允许使用短打开标签。 它非常基本,但是,请仔细研究。

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

项short_open_tags

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

答案 2 :(得分:0)

可能对你有所帮助

$(document).ready(function(){
    $('#shortcuts li a').click(function(e){
         e.preventDefault();
         $('#shortcuts li').removeClass('current');
         $(this).parent().addClass('current');
         return false;
    });
});