jQuery를 사용하지 않고 div의 높이를 얻는 방법에 대한 아이디어가 있습니까?
이 질문에 대한 스택 오버플로를 검색하고 있었고 모든 답변이 jQuery를 가리키는 것 같습니다 .height()
.
내가 좋아하는 뭔가를 시도 myDiv.style.height
내 사업부가 있었다하더라도,하지만 아무것도 반환 width
및 height
CSS에서 설정합니다.
jQuery를 사용하지 않고 div의 높이를 얻는 방법에 대한 아이디어가 있습니까?
이 질문에 대한 스택 오버플로를 검색하고 있었고 모든 답변이 jQuery를 가리키는 것 같습니다 .height()
.
내가 좋아하는 뭔가를 시도 myDiv.style.height
내 사업부가 있었다하더라도,하지만 아무것도 반환 width
및 height
CSS에서 설정합니다.
답변:
var clientHeight = document.getElementById('myDiv').clientHeight;
또는
var offsetHeight = document.getElementById('myDiv').offsetHeight;
clientHeight
패딩을 포함합니다.
offsetHeight
패딩, scrollBar 및 테두리를 포함합니다.
scrollHeight
포함 된 문서의 높이, 세로 패딩 및 세로 테두리가 포함 된을 사용할 수도 있습니다.
clientHeight
또한 동등하지 그래서, 패딩을 포함$.height()
clientHeight
에는 패딩이 포함되지 않습니다. 그리고 질문은 모두 언급 $.height()
하고 .style.height
, 어느 쪽도 아니가, 아스 커를 제안하는 것은 하나를 원하지 않는 패딩을 포함한다.
또 다른 옵션은 getBoundingClientRect 함수를 사용하는 것입니다. 요소의 표시가 '없음'인 경우 getBoundingClientRect는 빈 rect를 반환합니다.
예:
var elem = document.getElementById("myDiv");
if(elem) {
var rect = elem.getBoundingClientRect();
console.log(rect.height);
}
다른 답변은 나를 위해 작동하지 않았습니다. 여기 에 및 / 또는 세트 가 있다고 가정 할 때 w3schools 에서 찾은 것이 있습니다.div
height
width
당신이 필요로하는 것입니다 height
및 width
패딩을 제외 할 수 있습니다.
var height = document.getElementById('myDiv').style.height;
var width = document.getElementById('myDiv').style.width;
당신은 downvoters : 이 답변은 내가받은 upvotes에 의해 판단하여 적어도 5 명을 도왔습니다. 마음에 들지 않으면 내가 고칠 수있는 이유를 말해주세요. 그것은 downvotes를 가진 나의 가장 큰 애완 동물 peeve입니다; 당신은 왜 당신이 그것을 내리는지를 거의 말하지 않습니다.
height
및 / 또는width
offsetHeight
그리고 clientHeight
보다 더 자주 style.height
.
<div id="item">show taille height</div>
<script>
alert(document.getElementById('item').offsetHeight);
</script>
el.clientHeight
및에 추가 하여 요소 자체에 설정된 높이에 관계없이 요소 내부의 내용 높이가el.offsetHeight
필요할 때을 사용할 수 있습니다 el.scrollHeight
. 더 많은 정보
요소 높이 또는 최대 높이를 내부 동적 컨텐츠의 정확한 높이로 설정하려는 경우 유용 할 수 있습니다. 예를 들면 다음과 같습니다.
var el = document.getElementById('myDiv')
el.style.maxHeight = el.scrollHeight+'px'
대안이 하나 더 있습니다.
var classElements = document.getElementsByClassName("className");
function setClassHeight (classElements, desiredHeightValue)
{
var arrayElements = Object.entries(classElements);
for(var i = 0; i< arrayElements.length; i++) {
arrayElements[i][1].style.height = desiredHeightValue;
}
}