> 웹 프론트엔드 > CSS 튜토리얼 > JavaScript에서 요소의 정확한 CSS 속성 값(단위 포함)을 어떻게 얻을 수 있습니까?

JavaScript에서 요소의 정확한 CSS 속성 값(단위 포함)을 어떻게 얻을 수 있습니까?

Mary-Kate Olsen
풀어 주다: 2024-12-11 09:10:20
원래의
498명이 탐색했습니다.

How Can I Get the Exact CSS Property Value (Including Units) of an Element in JavaScript?

요소 CSS 속성 값을 설정으로 가져오기(Percent/Em/Px)

에 지정된 대로 요소의 CSS 속성 값 가져오기 스타일 규칙은 어려울 수 있으며, 특히 속성이 다양한 단위로 설정된 경우 더욱 그렇습니다. Google Chrome에서 getCompulatedStyle() 메서드와 jQuery의 css() 메서드는 모두 현재 값을 픽셀 단위로 반환합니다.

해결책: getMatchedStyle 함수

이 문제를 해결하려면, getMatchedStyle()이라는 JavaScript 함수가 개발되었습니다. 요소와 속성을 인수로 사용하고 CSS 규칙에 설정된 값을 반환합니다.

function getMatchedStyle(elem, property) {
  // Check element's own style first
  var val = elem.style.getPropertyValue(property);
  if (elem.style.getPropertyPriority(property)) return val;

  // Get matched CSS rules
  var rules = getMatchedCSSRules(elem);

  // Iterate rules in reverse order of priority
  for (var i = rules.length; i--;) {
    var r = rules[i];
    var important = r.style.getPropertyPriority(property);

    // Reset value if important or not yet set
    if (val == null || important) {
      val = r.style.getPropertyValue(property);
      if (important) break;
    }
  }

  return val;
}
로그인 후 복사

다음 HTML 코드를 고려하세요. CSS 규칙:

<div class="b">div 1</div>
<div>
로그인 후 복사

다음 JavaScript 코드는 getMatchedStyle()을 사용하여 div:

var d = document.querySelectorAll('div');

for (var i = 0; i < d.length; ++i) {
  console.log("div " + (i + 1) + ":  " + getMatchedStyle(d[i], 'width'));
}
로그인 후 복사

결과:

div 1:  100px
div 2:  50%
div 3:  auto
div 4:  44em
로그인 후 복사

위 내용은 JavaScript에서 요소의 정확한 CSS 속성 값(단위 포함)을 어떻게 얻을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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