angularjs - 使用 angularjs 查找/获取父元素

标签 angularjs

我有一个里面有按钮的 div 结构。 IE。

<div ng-app="example">
    <div class="parent" data-image="1" ng-controller="ParentCtrl">
        <div class="child" data-image="2">
            <div style="overflow:hidden; margin-right:10px;">
                <input type="button" value="Press me" class="button-one" ng-click="doSomething()" />
            </div>
        </div>
    </div>
</div>

我想从我需要的地方获取 data-* 属性值。
<script type="text/javascript">
var Example = angular.module('example', []);

Example.controller('ParentCtrl', ['$scope', function($scope)
{
    $scope.doSomething = function()
    {
        // want to get data-* attribute value from .parent/.child element
    };
}]);
</script>

Action 是否知道哪个元素上的什么事件触发了它?如果是这样,那么如何访问这个元素,找到需要的父元素?

最佳答案

首先,您可以将 event[1] 作为 ng-click 函数的参数发送。像这样:

<input type="button" value="Press me" class="button-one" ng-click="doSomething($event)" />

然后在函数中,使用 angular.element[2] 得到你想要的。像这样:
Example.controller('ParentCtrl', ['$scope', function($scope)
{
    $scope.doSomething = function(event)
    {
        var target = angular.element(event.target); //this target is a jQuery lite object
        // now you can do what you want through the target
    };
}]);

[1] http://docs.angularjs.org/api/ng.directive:ngClick

[2] http://docs.angularjs.org/api/angular.element

关于angularjs - 使用 angularjs 查找/获取父元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20122040/

相关文章:

javascript - ionic 本地存储

javascript - 为什么我的 Angular 数据绑定(bind)不会在 View 中更新?

jquery - 如何使用 jQuery 克隆窗口服务器端?

javascript - Grunt 一直在删除我的绝对路径

service - AngularJS ng-repeat 与来自服务的数据

javascript - Angular.js 如何处理诸如 "ng-click"之类的事件绑定(bind)?

javascript - 类型错误 : Highcharts[h] is not a function

css - 如何使用angular js在css中将ul li设置为事件

javascript - 处理空查询选择器

javascript - 从警报中的 json 捕获特定值