>웹 프론트엔드 >CSS 튜토리얼 >순수 JavaScript를 사용하여 HTML 요소에서 스타일 값을 검색하는 방법은 무엇입니까?

순수 JavaScript를 사용하여 HTML 요소에서 스타일 값을 검색하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-20 22:32:12929검색

How to Retrieve Style Values from HTML Elements using Pure JavaScript?

JavaScript를 사용하여 HTML 요소에서 스타일 값 검색

HTML 요소의 스타일 속성을 얻는 것은 HTML 요소의 모양을 동적으로 조작하는 데 필수적입니다. 이 기사에서는 외부 라이브러리의 도움 없이 순수 JavaScript를 사용하여 스타일 값을 검색하는 방법에 대해 자세히 설명합니다.

CurrentStyle과 계산된 속성

스타일 값에 액세스하려면, 인라인 스타일(요소의 스타일 속성 내에 정의됨)과 계산된 속성(실제 적용된 속성)을 구별해야 합니다. 스타일).

Internet Explorer는 element.currentStyle 속성을 사용하여 원래 단위로 값을 유지하는 인라인 스타일을 검색합니다.

Mozilla 및 기타 최신 브라우저는 document.defaultView.getCompulatedStyle 메서드를 사용합니다. 계산된 속성을 제공합니다. 이러한 값은 픽셀로 정규화되어 브라우저 전반에 걸쳐 일관된 표현을 제공합니다.

크로스 브라우저 솔루션

다음 함수는 인라인 및 검색을 위한 크로스 브라우저 솔루션을 제공합니다. 계산된 스타일:

function getStyle(el, styleProp) {
  var value, defaultView = (el.ownerDocument || document).defaultView;
  // Convert styleProp to compatible notation
  styleProp = styleProp.replace(/([A-Z])/g, "-").toLowerCase();
  // Modern browsers: computed properties
  if (defaultView && defaultView.getComputedStyle) {
    return defaultView.getComputedStyle(el, null).getPropertyValue(styleProp);
  } else if (el.currentStyle) { // IE: inline properties
    // Convert styleProp to camelCase notation
    styleProp = styleProp.replace(/\-(\w)/g, function(str, letter) {
      return letter.toUpperCase();
    });
    value = el.currentStyle[styleProp];
    // Normalize units on IE
    if (/^\d+(em|pt|%|ex)?$/i.test(value)) {
      return (function(value) {
        var oldLeft = el.style.left, oldRsLeft = el.runtimeStyle.left;
        el.runtimeStyle.left = el.currentStyle.left;
        el.style.left = value || 0;
        value = el.style.pixelLeft + "px";
        el.style.left = oldLeft;
        el.runtimeStyle.left = oldRsLeft;
        return value;
      })(value);
    }
    return value;
  }
}

ID가 "box"인 요소의 인라인 너비 속성을 검색하려면(스타일 태그를 통해 설정):

alert (getStyle(document.getElementById("box"), "width"));

계산된 너비 속성을 검색하려면 다음을 수행합니다. 계단식 또는 상속된 스타일을 고려합니다.

alert (getStyle(document.getElementById("box"), "width"));

제한 사항

이 기능은 색상 값을 완벽하게 처리하지 않습니다. 최신 브라우저는 RGB 표기법으로 색상을 반환하지만 IE는 원래 정의를 유지합니다.

위 내용은 순수 JavaScript를 사용하여 HTML 요소에서 스타일 값을 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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