2016-04-11 33 views
-2

我有一個自舉導航欄,我想爲另一個li元素設置活動類,當我點擊它時。設置爲自舉導航類

HTML

<nav class="navbar"> 
    <div class="navbar-default" > 
    <ul class="nav navbar-nav"> 
     <li class="active"><a>Content</a></li> 
     <li><a>News</a></li> 
     <li><a>Subject</a></li> 
    </ul> 
    </div> 
</nav> 

CSS

<script type="text/javascript"> 
    $('.navbar-nav li').click(function() { 
    $('.navbar li').removeClass('active'); 
    var $this = $(this); 
    if (!$this.hasClass('active')) { 
     $this.addClass('active'); 
    } 
    }); 
</script> 

不工作,我在新的JavaScript。我想我可能會聲明類元素錯誤,jQuery不會識別我的腳本。

+0

而代碼中的問題是什麼?事件處理程序是否點擊'li'運行?使用它之前加載jQuery? 「腳本」是否加載在「」中?見[mcve] – Tushar

+0

不改變我的li元素的狀態@Tushar – vimx

+0

它工作正常..不知道你的問題是什麼 – Pedram

回答

0

請查找附件代碼。

<nav class="navbar" style="cursor:pointer;"> 
<div class="navbar-default"> 
    <ul class="nav navbar-nav" id="navUl"> 
     <li class="active"><a>Content</a></li> 
     <li><a>News</a></li> 
     <li><a>Subject</a></li> 
    </ul> 
</div> 

和jQuery是:

$('#navUl > li').click(function() { 

    //Check for active class 
    if (!$(this).hasClass("active")) { 

     // Remove the active class 
     $("li.active").removeClass("active"); 

     // active current/clicked li 
     $(this).addClass("active"); 
    } 
}); 

我只是添加id作爲標識的jQuery,

你可以用你的課呢。

2

它與data-toggle="tab"激活一個選項卡無javascript。

<nav class="navbar"> 
    <div class="navbar-default" > 
    <ul class="nav navbar-nav"> 
     <li class="active"><a data-toggle="tab">Content</a></li> 
     <li><a data-toggle="tab">News</a></li> 
     <li><a data-toggle="tab">Subject</a></li> 
    </ul> 
    </div> 
</nav> 
+0

中聲明瞭這個腳本,它也是一個很好的解決方案,但是因爲你已經在你的問題中嵌入了一個jQuery,所以我嘗試使用html + jQuery專門做。 – Bharat