Javascript 使用angular获取单击的类名
我想获取单击的div的类名。我的朋友,有几个像下面这样的div标签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 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);
}