Angularjs在获取clicked元素的id方面存在问题

时间:2016-10-26 12:28:51

标签: javascript html angularjs

我正在尝试获取angularjs中单击元素的id,它工作得很好。以下是我的代码

HTML

<a href="#faqinner/contactform" class="clearfix" ng-click="getCateId($event)" id="{{option.id}}">
      <span class="icon">
          <img ng-if="option.icon!=null" ng-src="http://images.crownit.in/others/{{option.icon}}">
          <img ng-if="option.icon==null" ng-src="https://crownit.in/wp-content/themes/crownit-theme/images/faq_default_icon.png">
      </span>
      <span class="faq_name">{{option.name}}</span>
      <span class="arrow">
          <img src="images/right_arrow.png">
      </span>
    </a>

控制器

$scope.getCateId = function(obj, $event){
    $rootScope.cateId = obj.target.id;
    console.log($rootScope.cateId);
};

上面的代码应该返回点击的<a>代码的ID,但我面临的问题<span>代码中有更多<a>所以当我点击它所针对的跨度空间<span>标签没有id,但是当我专门点击没有内部<span>覆盖的顶部空闲空间时,它可以正常工作。

即使点击<a>空间,我怎样才能获得<span>的ID?

2 个答案:

答案 0 :(得分:1)

您只需将option.id传递给ngClick处理程序

即可
<a  ng-click="getCateId(option.id)" id="{{option.id}}">

控制器方法

$scope.getCateId = function(optionId){
    console.log(optionId);
};

答案 1 :(得分:0)

只需将ID传递给getCateId函数

即可
<a  ng-click="getCateId(option.id)" id="{{option.id}}">

$scope.getCateId = function(id){
    //Do something
};