繁体   English   中英

父节点的自定义属性无法解析

[英]Parent node custom attribute could not be parsed

我有一个容器div,其中有一个自定义数据属性data-gid 单击该div内的元素时,我需要获取父div的自定义属性。

HTML

     <div ng-repeat="(key, qn) in list >
     <div data-gid="{{ qn.id }}" >
        <div id="child1">
           <button ng-click="getParents($event);">Click</button>
         </div>
     <div>
    </div>

s

$scope.getParents = function(evt){
  var elem = evt.target.parentNode.getAttribute('data-gid');
  console.log(elem); 
}

问题是我总是将data-gidnull 当我检查

console.log(evt.target.parentNode)

我得到的是

<div data-gid="" >

那么这是什么问题呢?

由于evt.target.parentNode将指向div#child1 evt.target.parentNode ,并且您需要找到其父级,因此您需要使用

evt.target.parentNode.parentNode.getAttribute('data-gid')

或者, 我建议您可以将qn.id直接传递给该函数

<button ng-click="getParents(qn.id);">Click</button>

将gid参数传递给函数

<div ng-repeat="(key, qn) in list >
 <div data-gid="{{ qn.id }}" >
    <div id="child1">
       <button ng-click="getParents(qn.id);">Click</button>
     </div>
 <div>
</div>




 $scope.getParents = function(gid){      
  console.log(gid); 
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM