首先,确实是可以通过$event.target参数来拿对象的,拿到的对象可像操作jquery元素一样操作,所以子集、父级、同级都可以随意转换。
但是,并不推荐这种做法,angular存在的目的就是避免对dom元素的直接操作,你的这个需求,推荐考虑一下办法实现:
data-str里面的东西写到ngClick参数中,如
封装一个directive,通过link(scope, element, attrs)获取data-str参数,同时亦可以对dom直接进行操作,可定制性更强,适合高级需求,但至少我从题主的例子里面看不出。
只需要在函数参数中传入$event参数,在函数中使用$event.target就可以获取到了。
具体方法:
[javascript] view plain copy
[javascript] view plain copy
$scope.switchCheckBox = function($event, value) {
// console.log(value)
if (value) {
$($event.target).addClass("checked");
} else {
$($event.target).removeClass("checked");
}
}
$event.target.parent
$event.currentTarget能解决