我想获取点击的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 =&#34; car&#34;)。请注意,有三个这样的div。所以我想知道点击了哪个div。
答案 0 :(得分:1)
如果要检查使用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
一样通过点击功能
...data-ng-click='getClass($event); hide(); loadCarModule()'>
$scope.getClass = function(event) {
console.log(event.srcElement.className);
};
我认为你可以做的最好的方式是第一个,因为在第二个中你点击外部div的子元素然后ng-click
会触发,但是当你试图获得事件的目标时,它并不总是外部div,因为如果你点击h3
那么目标元素是h3
答案 1 :(得分:0)
您应该在HTML文件中传递事件变量
<div (click)="onClick($event)"></div>
然后在您的打字稿文件中
您应该使用target,然后使用id,className
onClick(e: any) {
console.log(e.target.id, e.target.className);
}