未捕获错误:语法错误,无法识别的表达式:#/ angularjs和jquery

时间:2015-07-19 05:36:16

标签: jquery angularjs twitter-bootstrap

每当我的页面加载时,我的控制台中都会显示以下错误。

“未捕获错误:语法错误,无法识别的表达式:#/ about”

我的代码如下:

                <li class="active">
                    <a href="/">Home</a>
                </li>
                <li class="">
                    <a href="#/about" title="About Us">About</a>
                </li>
                <li class="">
                    <a href="#/pricing">Pricing</a>
                </li>

它显示了所有的初始实例。最初,它首先显示#/ about,如果我删除了关于我们标签,它将显示定价页面链接。

它不是引导标签问题,这只是简单的导航

app.js中的路由代码:

$routeProvider.when('/', {
        templateUrl: 'partials/home.html'
    }).when('/account', {
        templateUrl: 'partials/account.html',
    }).when('/terms', {
        templateUrl: 'partials/terms.html'
    }).when('/about', {
        templateUrl: 'partials/about.html'
    }).otherwise({
        redirectTo: '/'
    });

我已经调试了它的bootstrap,bootstrap nav问题导致了这个问题:“nav navbar-nav” 解决这个问题的方法是data-target =“#”,但是需要适当的解决这个问题

4 个答案:

答案 0 :(得分:17)

这很可能是一个Bootstrap问题。尝试在此链接上使用data-target属性

<a href="#/about" data-target="#about" title="About Us">About</a>

答案 1 :(得分:6)

好的,你必须删除你的html变成的斜杠“/”,

<a href="#about" title="About Us">About</a>

如果你想保留斜杠,'/'你必须使用data-target属性,

<a href="#/about" title="About Us" data-target="#about">About</a>

有关它的更多信息here

答案 2 :(得分:4)

此问题也发生在角度2项目上。我只是添加了data-target =&#34;#&#34;到锚链接。它解决了我的问题。

&#13;
&#13;
 <a data-target="#" [routerLink]="['/link']">my link</a>. 
&#13;
&#13;
&#13;

答案 3 :(得分:1)

这可能是一种非常罕见的情况,但由于使用Colorbox和location.hash的一些遗留代码,我也遇到了相同的错误。

jQuery(function() {jQuery('.content-row .csc-default a').tooltip({placement:'top'});
jQuery('a.gallery').colorbox({
    maxWidth:'95%',
    maxHeight:'95%',
    slideshow:true,
    current:' {current} / {total}',
    opacity:'0.80',
    transition:'none',
    speed:'550',
    slideshowSpeed:'5500',
    overlayClose:true,
    fixed:false,
    escKey:true,
    arrowKey:true,
    loop:true,
    title: function() { return $(this).data('original-title')},
    close:'<span class="glyphicon glyphicon-remove"></span>',
    previous:'<span class="glyphicon glyphicon-chevron-left"></span>',
    next:'<span class="glyphicon glyphicon-chevron-right"></span>',
    slideshowStart:'<span class="glyphicon glyphicon-play"></span>',
    slideshowStop:'<span class="glyphicon glyphicon-pause"></span>',
    rel: function() { return $(this).data('rel')}
});
if (location.hash) $(location.hash).collapse('show'); //when this line is commented, Angular Route works properly
});

奇怪的是,只有在加载带有localhost/index.html#/main视图链接的页面或只是选择任何视图重新加载页面时,才会发生错误。