> 웹 프론트엔드 > CSS 튜토리얼 > jQuery의 `height()` 및 `width()` 함수가 `display: none`이 있는 요소에 대한 값을 반환하는 이유는 무엇입니까?

jQuery의 `height()` 및 `width()` 함수가 `display: none`이 있는 요소에 대한 값을 반환하는 이유는 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-10-29 07:57:30
원래의
887명이 탐색했습니다.

Why Do jQuery's `height()` and `width()` Functions Return Values for Elements with `display: none`?

jQuery: height()/width() 대 "display:none"

CSS 스타일이 있는 요소라고 가정했을 수도 있습니다. "display:none"을 사용하면 jQuery에서 height() 및 width()에 대해 0이 반환됩니다. 그러나 제공된 예에서 알 수 있듯이 항상 그런 것은 아닙니다.

왜 이런 일이 발생합니까? 이 동작을 이해하려면 jQuery가 숨겨진 요소를 처리하는 방법을 자세히 조사해야 합니다.

요소의 offsetWidth가 0(jQuery에서는 "숨겨짐"으로 해석됨)인 경우 높이를 확인하려고 시도합니다. 요소의 스타일을 일시적으로 변경하여 이를 수행합니다:

  • position: "absolute"
  • visibility: "hidden"
  • display: "block"

getWidthOrHeight(...)를 통해 높이를 얻고 필요한 경우 테두리와 패딩을 조정하면 이전 스타일이 복원됩니다.

본질적으로 jQuery는 숨겨진 요소를 가져와 임시로 표시합니다. 문서 흐름 외부에서 페이지의 시각적 모양에 영향을 주지 않고 높이를 검색한 다음 다시 숨깁니다. 이를 통해 height() 및 width()는 상위 요소가 표시되는 경우 숨겨진 요소에 대해서도 정확한 측정값을 제공할 수 있습니다.

이 메커니즘은 jQuery의 height() 및 width() 메서드에 내장되어 있으므로 별도의 작업이 필요하지 않습니다. 요소의 가시성을 수동으로 조작합니다.

위 내용은 jQuery의 `height()` 및 `width()` 함수가 `display: none`이 있는 요소에 대한 값을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿