javascript - 使用 ng-click 切换父元素的类?

标签 javascript jquery angularjs

我有一些 javascript 正在尝试将其转换为 Angular:

$('.col-lg .fa-clock-o').click(function(e){
    $(this).parent().toggleClass('set-time');
    e.preventDefault()
});

我尝试将以下内容添加到包含链接的子元素中,但它不起作用,也许有一种适当的“Angular ”方法可以代替?

<a href="#" class="fa fa-clock-o" aria-hidden="true" ng-click="$(this).parent().toggleClass('set-time')"></a>

最佳答案

一种更“Angular”的方法是设置一个变量,该变量表示父元素上是否存在 set-time 类。默认情况下,这将是未定义,这是错误的。

然后,要在 ng-click 中切换它,您只需将值设置为与当前值相反的值即可。

<div ng-class="{'set-time': setTimeClass}">
    <a href class="fa fa-clock-o" aria-hidden="true" ng-click="setTimeClass = !setTimeClass">toggle class</a>
</div>

这是一个工作示例:

var app = angular.module('app', []);
.set-time {
 background :red;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app="app">
     <div ng-class="{'set-time': setTimeClass}">
        <a href class="fa fa-clock-o" aria-hidden="true" ng-click="setTimeClass = !setTimeClass">toggle class</a>
    </div>
    
</div>

关于javascript - 使用 ng-click 切换父元素的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44309314/

相关文章:

javascript - iframe 内的 Suitescript

javascript - 停止对此的点击操作

javascript - 从 url Angular 加载模板并在 div 内编译

Angularjs:$scope.variable与 View 不同步?

javascript - 需要帮助将 ASP.Net 模块日期转换为 js。

javascript - 使用reactjs在tic tac toe应用程序中渲染图像

javascript - 在 1 个 http 请求中解决多个 Promise

javascript - 离开页面时将 url 从 HTTPS 更改为 HTTP javascript

javascript - 如何在左侧创建导航栏,在右侧创建容器?

python - AngularJS + Django - 主要优点和缺点