2014-02-18 2 views
1

div의 스타일 속성에서 높이를 가져 오는 방법이 있습니까?스타일 속성에서 높이 가져 오기

<div style="height:100px;"></div> 

난 그냥 나에게 요소의 현재 높이를 반환이 같은 .height()을 사용할 수 없습니다 - 나는 그것이

+0

는'당신의 요소의'height'을 변경하려고 style' 및 그이 동일하지 않습니다? – putvande

+0

@putvande : 스타일 시트'! important'는 인라인 스타일이'! important'도 아닌 한 인라인 스타일을 덮어 씁니다. 또한 스타일 값이 브라우저에서 사용되지 않는 경우도 있습니다. 스타일 속성과 높이가 달라질 수 있습니다. –

+0

@putvande 스타일 속성에 높이가 설정된 경우 div의 높이만 변경하면됩니다 (그렇지 않으면 자동으로 높이가 자동으로 조정됩니다) – Pete

답변

6

가장 쉬운이있는 경우 그 높이를 얻을 후 스타일이 설정되어 있는지 확인해야 방법은 style 건물로 바로 이동하는 것입니다 :

var heightStyleValue = $("selector for your element")[0].style.height; 

당신은하지가 당신에게 calculat를 제공하기 때문에 jQuery의 css 기능을 사용하고자 할 ed 높이가 아니고 style 개체의 값이 아닙니다.

JQuery와의
+1

이 트릭을 고마워했습니다. 받아 들일 수있을 때 – Pete

+1

@Pete Gud 응답 b4 타이머가 끝나기 –

0

사용 css()

$('div').css('height'); 
+1

아니요, 그것은 당신에게'height()'처럼 * 계산 된 * 높이를줍니다. –

+0

@ T.J.Crowder 계산 된 높이 의미? –

+0

@AnoopJoshi :'style = "height : 20px"'를 가질 수 있지만'css'는'40'을 반환 할 수 있습니다. 왜? 왜냐하면'!중요한 '스타일 시트 규칙은'style' 값을 오버라이드합니다. (또는 일부 상황에서와 같이 브라우저가 스타일 값을 무시했기 때문에) –

0

이 그냥

방법이있다 나에게 요소 (...)의 현재 높이를 반환으로 나는 .height의()를 사용할 수 없습니다 가능한? 일부 !important 문을 사용하지 않는 한 (피해야 만하는) 스타일 속성은 CSS의 다른 어떤 것보다 높은 특이성을가집니다. 따라서 height()에 의해 반환되는 높이는 다른 컨테이너에 의해 제한되지 않는 한 동일해야합니다.

: 당신의 자바 스크립트
  • 사용에 당신이 그것을 목표로 할 수 있도록 사업부에

    1. 이 ID를 할당합니다

      그러나 당신이 원하는 것을 달성하기 위해, 당신은이 일을 할 필요가

      document.getElementById("yourID").style.height;

  • +1

    예. 스타일을 설정하지 않으면 높이를 원하지 않고 css ('height')는 .height()와 동일합니다. – Pete

    0

    스타일의 이름 값은 기본값을 가지고 있기 때문에 당신은 elem.style.height 사용할 수 없습니다 . 실제로 어떤 스타일 매개 변수가 설정되었는지 알고 싶으면 스타일을 배열로 처리하십시오.

    바닐라 :

    // get style attributes that were actually set on the element 
    function getStyle(elem,prop) { 
        var actuallySetStyles = {}; 
        for (var i = 0; i < elem.style.length; i++) { 
         var key = elem.style[i]; 
         if (prop == key) 
          return elem.style[key]; 
         actuallySetStyles[key] = elem.style[key]; 
        } 
        if (!prop) 
         return actuallySetStyles; 
    } 
    
    console.log(getStyle(elem,'height')); 
    console.log(getStyle(elem)); 
    

    jQuery를 :

    jQuery.fn.extend({ 
    
        // get style attributes that were set on the first element of the jQuery object 
        getStyle: function (prop) { 
         var elem = this[0]; 
         var actuallySetStyles = {}; 
         for (var i = 0; i < elem.style.length; i++) { 
          var key = elem.style[i]; 
          if (prop == key) 
           return elem.style[key]; 
          actuallySetStyles[key] = elem.style[key]; 
         } 
         if (!prop) 
          return actuallySetStyles; 
        } 
    } 
    
    
    console.log(jQuery(elem).getStyle('height')); 
    console.log(jQuery(elem).getStyle());