代码之家  ›  专栏  ›  技术社区  ›  user3174311

如何访问AngularJS中的嵌套元素

  •  0
  • user3174311  · 技术社区  · 6 年前

    我有一个带按钮的物品清单。当我单击其中一个按钮时,我可以使用

    $event.currentTarget
    

    它会返回一些东西,比如

    <div ng-click="myFunc()">
      <i class="someclass"></i>
      <span>bla bla</span>
    </div>
    

    如何访问和元素以修改类等属性?

    2 回复  |  直到 6 年前
        1
  •  0
  •   Aleksey Solovey    6 年前

    模板

    <div ng-click="myFunc($event)">
      <i class="someclass"></i>
      <span>bla bla</span>
    </div>
    

    控制器

    $scope.myFunc(event) {
       var elem = angluar.element(event.currentTarget);
       elem.children(".someclass").removeClass("someclass")
    }
    
        2
  •  1
  •   Igor    6 年前

    不要。使用现有的指令,如 ng-class ng-if 等等。

    <div ng-click="clicked = true">
      <span ng-class="{'someclass': clicked}">bla bla</span>
    </div>
    

    stackblitz


    虽然您可以获取HTML DOM元素并对其进行编辑,但您应该只在最后一个选项中这样做,并且其他支持AngularJS的方法失败或不受支持。