javascript - 获取 angularjs 中的 $this

标签 javascript jquery angularjs

这是我的问题。

HTML 结构:

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

我不能有任何与 和 关联的 id/class

我需要的是,点击“Click Me”时,<tr>被隐藏。我需要一个 jQuery 解决方案。有些我无法使用 $(this) .

功能:

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

但是这个语句给了我一个错误。

最佳答案

注意:我不建议在 Controller 中使用 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');
  };

演示:Plunker

更新
更合适的 Angular 解决方案是使用 ng-hide

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

演示:Plunker

Updated demo与 ng-repeat

关于javascript - 获取 angularjs 中的 $this,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16163978/

相关文章:

javascript - AngularJS 嵌套 jQuery UI 可排序与递归

javascript - 只读取 firebase 中的某些字段

javascript - 为什么这个 jqueryeach() 函数不会调用?

javascript - Angular 数据表 : Unknown provider

javascript - 如何通过 ng-click 传递 "this"?

jquery - 应用 jquery 模态掩码

javascript - 将可见类切换为触发元素旁边的 Div(纯 JS)

javascript - 页面加载时检查按下的鼠标按钮

javascript - 如何用json数据值重绘highchart系列?

javascript - 获取具有自定义滚动条的可滚动 div 的高度