简体   繁体   English

在AngularJS中单击元素上切换CSS类?

[英]Toggle a CSS class on clicked element in AngularJS?

I want to use the predefined AngularJS Directives to toggle a class on click without having to write JavaScript code. 我想使用预定义的AngularJS指令在点击时切换类,而无需编写JavaScript代码。

I tried to toggle class by using ng-class : 我试图通过使用ng-class切换ng-class

<button ng-model="toggle" ng-class="{'red' : toggle}">Change Class</button>

codepen 码笔

Use a switch with ternary operator as follow 使用带有三元运算符的开关,如下所示

<button ng-model="toggle" ng-class="toggle ? 'red' : ''" ng-click="toggle=!toggle">Change Class</button>
  1. ng-click="toggle=!toggle" : When clicked on button the value of toggle will be reversed and updated in the same variable. ng-click="toggle=!toggle" :单击按钮时, toggle的值将被反转并在同一变量中更新。
  2. The ternary operation in ng-class will check if the toggle is truthy, then add class red else it removes the class. ng-class的三元操作将检查toggle是否正确,然后添加red类,否则将删除该类。

Demo: 演示:

 .red { color: red; } 
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <div ng-app> <button ng-model="toggle" ng-class="toggle ? 'red' : ''" ng-click="toggle=!toggle">Change Class</button> </div> 


You can also use 您也可以使用

<button ng-model="toggle" ng-class="{'red' : toggle}" ng-click="toggle=!toggle">Change Class</button>

 .red { color: red; } 
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <div ng-app> <button ng-model="toggle" ng-class="{'red': toggle}" ng-click="toggle=!toggle">Change Class</button> </div> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM