AngularJS选择标记为belogs指令的DOM元素

时间:2016-08-05 11:17:00

标签: javascript jquery html angularjs dom

有没有办法从我调用select命令中选择属于指令的DOM元素?

例如 - 我有两条指令。他们中的一个人在<input>指令中得到view.html

view1.html

<input></input>

view2.html

<div>other input<div>
<input></input>

我在指令中声明了控制器,我用它来处理东西。

首先(从view1指令调用)

$scope.selectView1Input = function(){
     var input = angular.element('input');
}

秒(从view2指令调用)

$scope.selectView2Input = function(){
     var input = angular.element('input');
}

但是在bouth情况下它选择相同的输入字段(我预期他的行为,因为它看起来只是dom选择器,所以)

我不想使用id。只是简单的标签,那么,有没有办法做到这一点?

2 个答案:

答案 0 :(得分:2)

您可以使用jQuery或内置jqLit​​e来选择元素:

app.directive('myDirective', function() {
    return {
        restrict: 'A',
        link: function(scope, element, attr) {
            var input = element.find('input');
            …
        }
    };
});

答案 1 :(得分:0)

您可以在从指令调用函数时使用$event。 使用$ event作为参数调用函数。

ng-click="selectView1Input($event)"

(如果您在点击时调用该功能)。

您的功能将如下所示:

首先(从view1指令调用)

$scope.selectView1Input = function(event){
     var input = $(event.target);
}

秒(从view2指令调用)

$scope.selectView2Input = function(event){
     var input = $(event.target);
}