>웹 프론트엔드 >CSS 튜토리얼 >JavaScript의 `this.style[property]`가 빈 문자열을 반환하는 이유는 무엇입니까?

JavaScript의 `this.style[property]`가 빈 문자열을 반환하는 이유는 무엇입니까?

DDD
DDD원래의
2024-12-04 03:33:13976검색

Why Does JavaScript's `this.style[property]` Return an Empty String?

JavaScript의 this.style[property]가 빈 문자열을 반환함: 원인과 해결 방법 찾기

this.style[property]에 액세스할 때 JavaScript의 속성을 사용하면 예상 값 대신 빈 문자열을 검색하는 상황이 발생할 수 있습니다. 이는 특히 설정된 스타일 속성을 검색하려는 경우 당황스러울 수 있습니다.

문제 이해

this.style[property]는 다음과 같이 설계되었습니다. HTML 또는 인라인 스타일을 통해 요소에 직접 할당된 액세스 스타일. 요소에 대해 요청된 속성이 명시적으로 설정되지 않은 경우 this.style[property]는 빈 문자열을 반환합니다.

계단식 스타일의 사례

종종 요소의 스타일은 CSS 스타일시트에 정의됩니다. 이러한 스타일은 계단식으로 구성됩니다. 즉, 특정 규칙에 따라 상속되고 재정의됩니다. 요소가 여러 스타일시트 규칙과 일치하는 경우 가장 구체적인 규칙이 우선 적용됩니다.

제공된 예에서 #test 요소에는 스타일시트에 정의된 두 가지 스타일이 있습니다. height: 100px; 너비: 100px;. 그러나 요소에는 배경의 인라인 스타일인 #CCC;도 있으며 이는 배경에 대한 #test 스타일시트 규칙을 재정의합니다.

CSS의 계단식 특성으로 인해 this.style[width] 및 this.style [height]는 빈 문자열을 검색합니다. 이러한 속성은 스타일시트에 설정되었지만 인라인 스타일에 의해 재정의되었기 때문입니다.

해결책: getComputeStyle()

계단식 스타일을 포함하는 효과적인 스타일 속성 값을 검색하려면 getComputeStyle() 메서드를 사용할 수 있습니다.

const myElement = document.getElementById('myId');
const style = getComputedStyle(myElement);
console.log(style.height); // "100px"

getComputeStyle()은 객체를 반환합니다. 상속된 속성과 재정의된 속성을 포함하여 적용된 모든 스타일을 고려하여 지정된 요소의 계산된 스타일을 나타냅니다.

위 내용은 JavaScript의 `this.style[property]`가 빈 문자열을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.