这是我的问题。
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/