一尘不染

在angularjs中获取$ this

angularjs

这是我的问题。

HTML结构:

<tr><td><a ng-click=aClick()>Click Me</a></td></tr>

我不能有与和相关的ID /类别

我需要的是单击“单击我”,然后<tr>将其隐藏。我需要一个jQuery解决方案。有些我无法使用$(this)

功能:

$scope.aClick = function() {
   $(this).parent().parent().css('display','block');
};

但是这个说法给我一个错误。


阅读 303

收藏
2020-07-04

共1个答案

一尘不染

注意:我不建议在控制器中使用dom操作,您可以编写指令来执行此操作。也就是说,您可以使用$event获取事件对象,从中可以获取事件目标并将其与jquery一起使用。

<tr><td><a ng-click="aClick($event)">Click Me</a></td></tr>

  $scope.aClick = function(event) {
     $(event.target).parent().parent().css('display','none');
  };

演示:柱塞

更新
一个更合适的角度解决方案是使用ng-hide

<tr ng-hide="hideRow"><td><a ng-click="hideRow = true">Click Me</a></td></tr>

演示:柱塞

使用ng-repeat
更新了演示

2020-07-04