2014-09-09 16 views
6

'de şu anda tıklanmış öğenin ana öğesinin kimliğini alın AngularJS'de şu anda tıklanan öğenin ana öğesinin kimliğini nasıl alabilirim? AngularJS

<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> 

nasıl showsubmenu($event) işlevinde değeri D8 alınır? Aşağıda

Denedim ama

$scope.showsubmenu=function(obj) 
{ 
    alert(obj.target.parent.attributes.id) 
} 

cevap

14

Var sadece parent:

alert(obj.target.parentNode.id); 

id özelliğine doğrudan erişebildiğiniz için attributes da gereksizdir.

Ancak, notlarınız ngRepeat olduğu için, ids'ler kopyalanacağından geçersiz biçimlendirme oluşturacaktır. Muhtemelen bunu da düzeltmek istersiniz, belki bu gibi ya da şu sınıfları kullanın:

<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> 
+0

Bunu yapmak için daha 'ANGULARish' bir yol var mı? –

+0

@TusharShukla Elbette. "" ve 'alt öğeleri gibi iki yönerge kullanabilirsiniz. Daha sonra çocuk yönergesi ana denetçisiyle kayıt olur. Ama benim için çok daha karmaşık bir çözüm ve buna değmez. – dfsq

4
<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> 

Bu yeterli olmalı çalışmıyor ne: D

function showsubmenu($event){ 
    $($event.target).parent(); 

} 

O parentNode olmalıdır güzel bir gün