如何使用jqlite以角度获取元素的attr数据?

时间:2014-12-13 09:05:00

标签: angularjs angular-directive jqlite

如何使用jqlite以角度抓取元素的attr数据?

HTML,

<button ng-click="loadForm($event)" href="form.php">Load Directive Form</button>
<div data-my-form></div>

角,

     app.directive('myForm', function() {
        return {
          controller:function($scope){
            $scope.isLoaded = false;
            $scope.loadForm = function(e){

                console.log(e.target.attr('href')); // error 

                var form = e.target.attr('href'); // error

                $scope.isLoaded = true;
            }
          },
          template: '<div><div ng-if="isLoaded" ng-include="'+ form +'" ></div></div>',
          link:function(scope, element) {

          }
        }
    });

我收到此错误,

TypeError: e.target.attr is not a function

任何想法?

1 个答案:

答案 0 :(得分:6)

attr()是jqLit​​e元素上可用的方法。

e.target是对DOM元素的引用。

首先需要将DOM元素包装为jqLit​​e元素:

var form = angular.element(e.target).attr('href');