2014-05-19 67 views
0

我想获取元素的属性值,但返回undefined。如何使用angularjs获取元素值?

HTML

<button id="myId" ng-click="hi($event)">click me</button> 

JS

$scope.hi = function (e) { 
    var elem = angular.element(e.srcElement); 
    alert(elem.attr("id")); 

} 

为什么我得到了一个未定义?

回答

0

$event会将click事件传递给你的函数。

对于使用元素本身,您应该使用directive

app.directive('mydirectiver', function() { 
return { 

    link: function(scope,element,attrs){ 

     //element will point to the element 

     //attrs will point to the elements attributes 

    } 

}; 
}); 

我强烈建议Angular docs讲授关于指令的讲座。他们一开始有点混淆,但你应该能够快速围绕这个概念,并从他们的力量中受益。

1

变化e.srcElemente.target

例如:

$scope.hi = function (e) { 

    var elem = angular.element(e.target); 
     alert(elem.attr("id")); 
} 

DEMO

或U可以使用

$scope.hi = function (e) { 
    alert(e.target.id); 
} 

DEMO