javascript - 使用 Angular 获取点击的类名

标签 javascript angularjs

我想获取点击的 div 的类名。我有几个像下面这样的 div 标签。

<div id="car" class="ams-product car" data-ng-class="{ 'car-inactive ams-deactivated-product': carInactive() }" data-ng-click='getClass(); hide(); loadCarModule()'>
    <div class="ams-product-inner">
        <img class="product-img" data-ng-src="{{ carValidation()}}">
        <h3>Car</h3>
        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim</p>
        <a href="#" class="add-this-product" data-ng-class="{ 'car-inactive': carInactive() }">+</a>
    </div>
</div>

我想要顶部外部 div(div id="car") 的类名或 ID。请注意,有三个这样的 div。所以我想知道点击了哪个 div。

最佳答案

如果你想检查元素中是否设置了使用 ng-class 应用的类,你可以简单地检查用于启用和禁用 ng-class< 的变量/函数 喜欢,

 $scope.getClass = function() {

      //if $scope.carInactive() is true then 
      //car-inactive & ams-deactivated-product classes apply to the element.

      console.log($scope.carInactive());
 };

或者您可以使用旧的 JavaScript 方式从被点击的元素中获取类,

ng-click 应该类似于将 $event 传递给 clicked 函数,

...data-ng-click='getClass($event); hide(); loadCarModule()'>

 $scope.getClass = function(event) {
     console.log(event.srcElement.className);
 };

我认为您可以做的最佳方法第一个,因为在第二个中,如果您单击外部 div 的子元素,那么 ng-click 将触发,但是当您尝试获取事件的目标时,它并不总是外部 div,因为如果您单击 h3,则目标元素是 h3

关于javascript - 使用 Angular 获取点击的类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31603104/

相关文章:

javascript - 外部 Ajax : All at Once, 根据需要,还是其他?

javascript - Angular js : Inject ngProgress service in controller file using MEAN Stack

javascript - 使用谷歌地图 API 获取带有经度和纬度的地址

angularjs - 如何使用 Firebase 和 AngularJS 创建评论线程?

javascript - 如果在 javascript 中返回,如何抓取搜索结果(使用 python)

javascript - Angular *ngFor "id"标签生成不正确, `mat-button-toggle`

javascript - $http数据,类型错误: Cannot call method slice of undefined

jquery - 在 <select> <option> 中添加图像的最佳方式

javascript - Controller 中的更新日期未反射(reflect)在输入类型=日期中

javascript - 我可以将 templateUrl 传递给指令吗 - AngularJS