我正在尝试获取element的属性值但返回undefined。
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 :(得分:1)
将e.srcElement
更改为e.target
示例:
$scope.hi = function (e) {
var elem = angular.element(e.target);
alert(elem.attr("id"));
}
或者你可以使用
$scope.hi = function (e) {
alert(e.target.id);
}
<强> DEMO 强>
答案 1 :(得分: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文档关于指令的演讲。它们在开始时有点令人困惑,但你应该能够非常快速地围绕这个概念,并从它们的力量中获益。