我想获取点击的 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/