2014-02-12 3 views
1

나는 링크 요소에서 DOM 요소를 가져온 지시문을 사용하고 있습니다. 거기에 액세스하려는 요소가 있습니다.적절한 방법으로 angular.element를 넘겨줍니다.

// element = <directive> 
//    ... 
//    <div id="target"></div> 
//    ... 
//   </directive> 

나는 .click() 이벤트를 할 예를 들어, 요소를 얻고 싶다면 내가 갈 수있는 방법을 발견하지 않은 원인, 나는의 'document'개체를 사용할 필요 했어 즉시 #target 요소에 직접.

올바른 방법에 대한 의견이 있으십니까? 당신은 내가 AngularJS와를 사용할 때 class 개인적으로

+1

u는 angular.element (elem.querySelector ('. classname')) –

+0

을 시도해 봤습니다. – farolfo

답변

0

, 나는 자동과 같이, DOM을 타겟팅하는 querySelectorAll을 사용하는 새로운 기준으로 모든 것을 포장하지 id으로 검색 할 수있는 불행하게도 jqLite은 우리에게 find() 기능을 제공합니다

jqLite('body > div').addClass('whatever');

이 jQuery를처럼 행동하지 않을 드문 경우가 있습니다, 예를 들어, querySelectorAll를 사용하여, 당신은 더 이상 도착를 얻을 :

YOUR_APP.run(function() { 
    jqLite = function(selector) { 
     var selectorResult = (typeof selector == 'object') ? selector : document.querySelectorAll(selector) 
     return angular.element(selectorResult) 
    }; 
}) 

그래서 내가 사용, 그것은 "jQuery를 같은"을 사용할 수 있습니다 예를 들어 forEach 메소드를 적용 할 수 없으므로 jQuery와 같이 결과가있는 객체가 nodeList에 작성되었으므로 쉽게 해결할 수 있습니다. 새로운 참조 jqLite가 작업을 수행 할 수 없을 때마다 항상 angular.element를 직접 사용할 수 있습니다.

그러나 이것은 jQuery를 필요로 대부분의 99 % :이 도움이

희망을 만족해야한다.