2016-06-01 4 views
0

지시어에서 요소 폭을 얻으려면 어떻게해야합니까?지시문에서 클래스 너비를 가져 오는 방법이 있습니까?

제 경우에는 지시문이 여러 번 호출되고 어떤 요소가 호출되는지 요소 매개 변수를 통해 전달해야합니다.

그러나 그 요소 너비 안에 클래스를 얻는 방법을 모르겠습니까? 하나의 길이있다 ... 비록

console.log(element.find(.labels).width()); 

이, 그러나 그것은 작동하지 않습니다 다시 제로 제공 :

예를 들어 나는 내가이 라인을 따라 뭔가를했을 클래스라는 레이블이 있습니다. 아래 코드를 사용하십시오 :

console.log(element.find('.labels').length); 

분명히 클래스가 객체라고 생각할 수 있지만 그것이 아닌 것으로 알 수 있습니다.

나는 폭을 얻으려고하는 요소에 CSS 변환 속성이 ​​있다는 것을 지적해야한다. 나는 이것이 내가하려고하는 것에 영향을 줄 것이라고 생각하지 않는다.

https://jsfiddle.net/2g13wmxz/

+0

귀하의 지시어를 더 게시하십시오. HTML과 JS. –

+0

은 내 지시어와 html의 jsfiddle을 추가했습니다 –

+0

console.log (element.find ('. labels'). length) ;; – wdanda

답변

0

나는 폭에 대한 적응이 될 것입니다 여기에, 높이 뭔가 simila을 완료했습니다 (하지만 테스트하지 않았습니다) :

angular.module('app') 
 
    .directive('findWidth', function($timeout) { 
 
    return { 
 
     type: "A", 
 
     link: function(scope, element) { 
 
     $timeout(init, false); 
 

 
     function init() { 
 
      var offsetWidth = element[0].offsetWidth; 
 
     } 
 
     }, 
 
    }; 
 
    });

PS를 : 당신은 할 수 시간 초과 트릭이 필요 없음

자세한 정보 : https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetWidth

+0

내가 이것을 수행하면 찾고자하는 너비가되지 않습니다. 최상위 요소 안에는 자식이 기본적으로 레이블의 클래스 이름을 가진 자식이 필요합니다. 너비 요소 매개 변수 너비가 아닙니다. –

+0

아, 내 잘못은 도움이 ur 질문을 읽지 못했습니다. – wdanda

+0

도움을 주셔서 감사합니다. –

관련 문제