2014-03-12 51 views
0
.directive('mydirective', [function($scope, $document,windowService) { 
return{ 
    link : function(scope,element,attars){ 
     --- Some more code —-- 

     var containers = $('.container’); 
     containers.bind('click', function(event) { 
      var elem = event.currentTarget; 
      elem.append('<div>test</div>’); //Appending is failing 
     }); 
    } 
}]); 

TypeError: 'undefined' is not a function (evaluating 'elem.append('<div>test</div>')')  

我剛剛開始與AngularJS和堅持以上問題,我試圖追加一個div到容器。如何在AngularJS中添加一個動態div?

回答

3

嘗試用這種

containers.bind('click', function (event) { 
     var elem = event.currentTarget; 
     $(elem).append('<div>test</div>’); //Appending should work 
} 

elem可以是你必須把它轉換成jQuery對象使用jQuery的.append()方法的HTML輸入對象!所以請將您的elem環繞$()。它應該工作

0

更好地使用它。由於Angular核心只使用JQLite,所以刪除了對JQuery的依賴。這基本上是一樣的事情發生。 https://docs.angularjs.org/api/ng/function/angular.element

containers.bind('click', function (event) { 
     var elem = event.currentTarget; 
     angular.element(elem).append('<div>test</div>’); //Appending should work 
}