通过控制器更改angularjs中的类

Anu*_*ran 10 html css twitter-bootstrap angularjs

请帮我用angularjs和controller动态更改输入类[type = button].

app.controller('anodekeypadcntrl',function($scope){
	
	
	$scope.clickTwentyFour = function(event){
	  In this function I need to highlight the button (adding the .active class to it)	
	};
	                            
});
Run Code Online (Sandbox Code Playgroud)
<div class="keypadcontainer" ng-controller="anodekeypadcntrl as child">
  ------
  <input type="button" value="24" id="twentyFour" class="twentyfour anodeKeypadButton"
	ng-click="clickTwentyFour($event)" />
  -------------
</div>
Run Code Online (Sandbox Code Playgroud)

Dan*_*van 16

您可以使用ngClass.在您的标记中只需执行以下操作:

<input type="button" value="24" id="twentyFour" class="twentyfour anodeKeypadButton"
ng-click="clickTwentyFour($event)" ng-class="myDynamicClass" />
Run Code Online (Sandbox Code Playgroud)

这样,您可以设置myDynamicClass为包含CSS类的单个字符串或直接来自控制器的字符串数组

// controller code
$scope.myDynamicClass = 'some-css-class';
Run Code Online (Sandbox Code Playgroud)

这将附加到HTML.如果查看ngClass文档,您将看到您甚至可以附加返回类的函数,或者在附加条件的HTML中直接编写类.


小智 5

如果要添加类,请尝试以下操作:

var myEl = angular.element( document.querySelector( '#twentyFour' ) );
myEl.addClass('active'); 
Run Code Online (Sandbox Code Playgroud)

您可以使用所需的id替换querySelector中的内容.