2013-10-05 4 views
6

jquery의 height 속성은 항상 0을 반환합니다. Bootstrap과 함께 사용하고 있습니다. 갈등이 있는지 확실하지 않습니다. 몇 가지 온라인 권장 솔루션을 살펴 보았지만 해결하지는 못했습니다. 아래 코드는이 display: none 될 수 있음을jquery height는 0을 반환합니다.

/*html */ 
<div class="hidden-sm hidden-md hidden-lg" class="mobNewsEvents"> 
<div class="row"> 
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12"> 
<h3 style="text-align: center;">Events</h3> 
<div class="mobEvents"> //need to get the height of this div element 
<ul> 
    <li>...</li> 
</ul> 
</div> 
</div> 
</div> 
</div> 

/*script*/ 
(function($){ 
$(window).load(function(){ 
    var temp = $('.mobEvents').height(); 
    alert(temp); 
}); 
})(jQuery); 
+0

는'class' 값에서 알 수 있듯이 사업부는'hidden'인가? 그 높이는 * 0입니다. – Bergi

+0

고마워요 Bergi. 나는 이것을 파고있다. 당신이 맞을 수도 있습니다. 이 문제가 해결되면 알려 드리겠습니다. – Ram

+0

예, 표시된 것을 제외하고 상위 클래스 중 하나의 표시 속성입니다. 도움 주셔서 감사합니다 – Ram

답변

10

class="hidden-sm hidden-md hidden-lg" 힌트 니펫입니다. 이 경우 height을 사용할 수 없습니다. 그것을 보여주고 측정하고 숨 깁니다.

+0

display 속성이 none으로 설정되어있는 것 같습니다. 나는 한 번 시험해 볼 것이다. 그 동안 클라이언트가 UI에서 어떤 일이 일어나는지 알지 못하도록 표시, 측정 및 숨기기위한 더 나은 솔루션을 제안 하시겠습니까? – Ram

+0

그렇습니다. 표시된 것을 제외하고는 부모 클래스 중 하나의 표시 속성입니다. 이는주의하는 것을 잊어 버렸습니다. 도움을 주셔서 감사합니다 – Ram

+0

"표시하고 측정하고 숨기는 더 좋은 해결책"CSS에서 높이를 명시 적으로 설정하면 CSS 규칙을 구문 분석해볼 수 있습니다 (권장하지 않습니다). 그러나 그것 이외에, 나는 방법을 모른다. 그러나 "UI에서 무슨 일이 일어나는지 고객에게 알리지 않고도?" 브라우저가 두 가지 재 레이아웃을 수행 할 것입니다.하지만 문서가 실제로 복잡하지 않은 경우에는 지각 할 수없는 지연이 발생합니다. 사용자는 아무 것도 알아 차리지 않아야합니다. 브라우저는 JS 스레드가 완료되면 다시 그리기 만 수행하며 이미 그려진 화면과 동일합니다. – Amadan

2

대신 다음을 시도해보십시오. window.load는 문서 요소를 다루는 좋은 방법이 아닙니다.

$(document).ready(function(){ 
    var temp = $('.mobEvents').height(); 
    alert(temp); 
}); 

동일한 클래스의 요소가 두 개 이상인 경우 첫 번째 요소 만 가져옵니다.

$(document).ready(function(){ 
    var temp = $('.mobEvents':First).height(); 
    alert(temp); 
}); 

또는 선택적으로 사용할 수

$(document).ready(function(){ 
    var temp = $('.mobEvents').attr("height").value(); 
    alert(temp); 
}); 
+0

시간과 대답을 주셔서 감사합니다 시간을 제공하십시오. – Tauseef

+0

예 제가 이해하는 한 가지는 클래스 이름을 반복해서는 안됩니다. 한 가지 더 많은 문제는 display 속성을 none으로 설정 한 것입니다. 노력해 주셔서 감사합니다. – Ram

+0

@ user2425218 클래스를 정의하는 목적은 많은 요소에서 클래스를 반복하는 것입니다. 숨겨진 요소는 이벤트와 속성을 출력하지 않습니다. '$ (document) .ready (...) '를 사용해야합니다. – Tauseef

관련 문제