如何在AngularJS中获取当前单击元素的父元素的id?
<div id="d8" class="menutitles ng-scope" ng-repeat="title in list">
<div class="right" ng-click="showsubmenu($event)">+</div>
<div class="left" ng-click="showsubmenu($event)">Unit 9</div>
</div>
如何在showsubmenu($event)
函数中获取值 d8 ?
以下是我尝试但不起作用
$scope.showsubmenu=function(obj)
{
alert(obj.target.parent.attributes.id)
}
答案 0 :(得分:17)
它应该是parentNode
,而不仅仅是parent
:
alert(obj.target.parentNode.id);
attributes
也是多余的,因为您可以直接访问id
属性。
但请注意,由于您拥有ngRepeat
,因此会产生无效的标记,因为ID将会重复。你可能也想解决这个问题,也许是这样或使用类:
<div id="d8{{$index}}" class="menutitles ng-scope" ng-repeat="title in list">
<div class="right" ng-click="showsubmenu()">+</div>
<div class="left" ng-click="showsubmenu()">Unit 9</div>
</div>
答案 1 :(得分:6)
<div id="d8" class="menutitles ng-scope" ng-repeat="title in list">
<div class="right" ng-click="showsubmenu()">+</div>
<div class="left" ng-click="showsubmenu()">Unit 9</div>
</div>
应该足够了:D
function showsubmenu($event){
$($event.target).parent();
}
度过愉快的一天
答案 2 :(得分:0)
作为佩德罗回答的补充,我想最好使用jQuery method closest
。
function showsubmenu($event){
var parent = $($event.target).closest('.yourclass'); // or any selector you prefer
}