2014-02-13 132 views
0

我有下面的代碼:這裏父元素添加類上點擊

<li class="parentElement"> 
<ul> 
    <li class="highlight"><a href="">Item 1</a></li> 
    <li><a href="">Item 2</a></li> 
    <li><a href="">Item 3</a></li> 
</ul> 
</li> 

<ul>是在導航菜單下拉。活動元素/ <li>有班級突出顯示... 當班級突出顯示位於其中一個列表元素中時,我需要將class active添加到parentElement。

我試圖使用ng級但沒有成功。

UPDATE

納克級=「{‘主動’:hasHighlight}」不能與我的代碼工作,這將增加ACTIV永久的亮點是目前所有時間納克級:

  <li class="parentElement"> 
       <a href="#" class="dropdown-toggle" data-toggle="dropdown"></a> 
       <ul class="dropdown-menu"> 
        <li ng-class="{ highlight: isActive('/item1')}"><a href="${createLink(uri: '/#/item1')}"></a></li> 
        <li ng-class="{ highlight: isActive('/item2')}"><a href="${createLink(uri: '/#/item2')}"></a></li> 
        <li ng-class="{ highlight: isActive('/item3')}"><a href="${createLink(uri: '/#/item3')}"></a></li> 
       </ul> 
      </li> 
+0

是通過某種的任何功能動態添加的「亮點」類? –

+0

完全使用jQuery,還是純粹的Angular? – tymeJV

+0

它是由控制器添加 – mmacin

回答

1

你是對的使用ng-class

<li class="parentElement" ng-class="{'active': hasHighlight}"> 
<ul> 
    <li class="highlight"><a href="">Item 1</a></li> 
    <li><a href="">Item 2</a></li> 
    <li><a href="">Item 3</a></li> 
</ul> 
</li> 

在你的控制器,只要你的類highlight添加到列表元素,改變$scope.hasHighlight等於true。當它起飛時,將其更改爲false

+0

是的,正是我認爲 –

+0

它無法正常工作..請檢查我的更新 – mmacin

+0

你也可以提供您的代碼爲您的控制器? – bioball

0

我發現這樣的事情:

ng-class="{ active: isAnyActive() }" 

和控制器:

$scope.isAnyActive = function() { 
     return ['/item1','/item2','item3'].indexOf($location.path()) > -1; 
    };