Javascript 使用angular获取单击的类名

Javascript 使用angular获取单击的类名,javascript,angularjs,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">

我想获取单击的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的id(div id=“car”)。请注意,有三个像这样的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单击
,但当您尝试获取事件目标时,它并不总是外部div,因为如果您单击
h3
,那么目标元素是
h3

,您应该在html文件中传递事件变量

<div (click)="onClick($event)"></div>

首先显示如何从范围模型创建此
汽车
,以生成此视图。在angular中,您很少需要使用元素ID,因为元素是从您的作用域创建的,因此您可以将这些数据模型实例传递回html中的函数中。您也不必担心由于同样的原因单击了哪个类SNG类与您的模型相关,这样您就可以知道哪个类是活动的。我不确定是否完全理解……当然,你可以很容易地上这门课。但是,如果您想切换div或类似的东西,最好使用ngShow/ngIf采用另一种方法。在
ng click中传递
$event
作为参数。您是否接受
getClass()
中的event参数作为
$scope.getClass=函数(event){…
这是一个问题,而不是问题
onClick(e: any) {
    console.log(e.target.id, e.target.className);
}