2013-11-28 39 views
0

是否有一種簡單的方法來定位範圍內的元素並更改類名稱或樣式。使用ng-click範圍內的目標元素

我曾經使用Jquery,並簡單地使用.parent()。找到目標相對元素,但找不到一個簡單的解決方案,應該完成一個非常簡單的任務。

大多數解決方案似乎是非常複雜的,我敢肯定角度不需要大量的代碼。

我想要相對於ng-click元素或範圍的根目標並應用新的類名稱。

這是非常基本的場景,我需要按鈕來改變H1的類。

<div> 
    <h1 class="Blue">Welcome</h1> 
    <ul> 
     <li> 
      <button ng-click="myFunction()">Change H1 to Red</button> 
     </li> 
    </ul> 
</div> 

任何意見,將不勝感激。

回答

8

如果您切換類,最好使用ng-class和一些財產進行切換:

HTML:

<div> 
    <h1 ng-class="{Blue: !clicked, Red: clicked}">Welcome</h1> 
    <ul> 
     <li> 
      <button ng-click="myFunction()">Change H1 to Red</button> 
     </li> 
    </ul> 
</div> 

控制器:

$scope.myFunction = function() { 
    $scope.clicked = true; 
} 

但是,在功能上可以通過$event得到原始元素也是這樣做的。雖然,這不會是 「角」 的方式來做事:

HTML:

<button ng-click="myFunction($event)">Change H1 to Red</button> 

控制器:

$scope.myFunction = function(e) { 
    console.log(e.srcElement); 
} 
+1

+1的'$ event'。我不知道那件事。 –

+0

謝謝你 - 都有他們的用途,但第一個例子適合我的需求,正是我需要的 – Paul