> 웹 프론트엔드 > JS 튜토리얼 > 'Uncaught TypeError: Cannot read property 'style' of null' 없이 JavaScript로 CSS 의사 요소 스타일을 수정하는 방법은 무엇입니까?

'Uncaught TypeError: Cannot read property 'style' of null' 없이 JavaScript로 CSS 의사 요소 스타일을 수정하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-11-09 04:14:02
원래의
611명이 탐색했습니다.

How to Modify CSS Pseudo-Element Styles with JavaScript Without

JavaScript를 사용하여 CSS 의사 요소 스타일 수정

JavaScript를 사용하여 스크롤 막대의 색상과 표시 여부를 조정하는 동안 다음과 같은 문제가 자주 발생합니다. "잡히지 않은 TypeError: null의 'style' 속성을 읽을 수 없습니다." 오류. 이는 웹사이트가 기본적으로 스크롤을 비활성화하여 스크롤 막대 요소가 존재하지 않기 때문에 발생합니다.

이 제한 사항을 해결하려면 CSS Vars 기술을 사용할 수 있습니다. 이 방법에는 CSS에서 대체 값을 정의하고 JavaScript에서 CSS 변수를 사용하여 이를 동적으로 조작하는 작업이 포함됩니다.

CSS에서 다음과 같이 대체 값으로 스크롤 막대 스타일을 정의합니다.

#editor {
  --scrollbar-background: #ccc;
}

#editor::-webkit-scrollbar-thumb:vertical {
  /* Fallback */
  background-color: #ccc;
  /* Dynamic value */
  background-color: var(--scrollbar-background);
}
로그인 후 복사

그런 다음, JavaScript에서 스크롤 막대 배경색을 제어하는 ​​변수를 수정합니다.

document.getElementById("#editor").style.setProperty('--scrollbar-background', localStorage.getItem("Color"));
로그인 후 복사

이 접근 방식을 사용하면 "null" 오류 없이 스크롤 막대 스타일을 동적으로 수정할 수 있습니다. 이 기술은 모든 브라우저에서 지원되지 않을 수 있으므로 이전 브라우저의 경우 단계적 성능 저하를 고려하세요.

위 내용은 'Uncaught TypeError: Cannot read property 'style' of null' 없이 JavaScript로 CSS 의사 요소 스타일을 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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