2016-11-15 16 views
0

http://plnkr.co/edit/LZUa1tm7EROk8zcw6sGh?p=previewチェックDOM要素JSに存在する/ angularjs

angular.module('myModule', []) 
    .controller('myDirective', function() { 
    console.log(angular.element('.myClass').prop('offsetWidth')); 
    }); 

私は、DOMがangularjsに見えるかそうでないところをチェックしたいです。しかし、myClassのエラーは関数ではありませんか?

+0

をホープのような適切なJavaScriptのメソッドを使用して、角度の形式であなたの全体のコードを代わりに保つことができ、このようにすることができています問題のコンソール出力を表示しますか? – McBoman

+1

コントローラの名前がmyDirectiveで、ng-controllerをmyClassに設定しています –

答えて

1

コントローラー名をmyDirectiveからmyClassに変更してください。

この

angular.module('myModule', []) 
    .controller('myClass', function($scope) { 
    var mClass = document.getElementsByClassName("myClass"); 
    console.log(angular.element(mClass).prop('offsetWidth')); 

    }); 

DEMO

Nようにしてみてください:B:DOM関連のタスクではなく、コントローラの指令で処理されなければなりません。

0

Angular.elementはdocument.getElementsByClassNameとは異なります。上記1が正しいですが、あまりにも

var elem = angular.element('.myDiv') 

この1間違ったバージョンを見ることができますangular.elementはEG-

var elem = angular.element('<div class="myDiv">{{ model.input }}</div>') 

のために、要素を取り込んで文句を言わないあなたのケースのために

働く行いますこのようなことは: -

angular.element($のdocument.find( 'div.myClass'))

注: - あなたは、コントローラで$ドキュメントを注入するためにあなたがdocument.getElementsByClassName()

はそれが

関連する問題