JavaScript에서 CSS 카운터 값에 액세스하는 방법은 무엇입니까?
JavaScript에서 CSS 생성 콘텐츠에 액세스하는 방법
문제:
CSS에서, 카운터 및 콘텐츠 속성은 이미지에 대한 그림 번호 매기기("그림 1.1")와 같은 사용자 정의 콘텐츠를 생성합니다. 질문이 생깁니다. JavaScript를 사용하여 어떻게 이 콘텐츠에 프로그래밍 방식으로 액세스할 수 있습니까?
답변:
라이브 카운터 값 액세스
안타깝게도 JavaScript에는 CSS에서 생성된 라이브 카운터 값에 액세스할 수 있는 직접적인 인터페이스가 없습니다. getCompulatedStyle을 통해 검색을 시도하면 실제 런타임 값이 아닌 스타일시트에 선언된 값만 반환됩니다.
처음에는 유망해 보였던 DOM 레벨 2 스타일 카운터 인터페이스에도 현재 카운터 값을 검색하는 속성이 부족합니다. .
대체 접근 방식
라이브 카운터 값에 직접 액세스하므로 실현 가능하지 않은 경우 대체 접근 방식은 JavaScript를 사용하여 브라우저 자체 카운터 메커니즘을 복제하는 것입니다. 다음 스크립트를 사용할 수 있습니다.
window.onload = function () { // Get all counter elements var counters = Node_getElementsByClassName(document.body, 'counter'); // Initialize indices var indices = []; for (var counteri = 0; counteri < counters.length; counteri++) { // Get counter level var counter = counters[counteri]; var level = Element_getClassArgument(counter, 'level'); // Update indices while (indices.length <= level) indices.push(0); indices[level]++; indices = indices.slice(level + 1); // Create text node for figure number var text = document.createTextNode('Figure ' + indices.join('.')); // Insert figure number before counter element counter.parentNode.insertBefore(text, counter.nextSibling); // If counter has an ID, add figure number to links if (counter.id !== '') { for (var linki = document.links.length; linki > 0; linki--) { var link = document.links[linki]; if (link.hostname === location.hostname && link.pathname === location.pathname && link.search === location.search && link.hash === '#' + counter.id) { // Create text node for link number var text = document.createTextNode('(' + indices.join('.') + ')'); // Insert link number after link link.parentNode.insertBefore(text, link.nextSibling); } } } } };
이 스크립트는 제목과 그림 요소에 그림 번호를 추가하고 해당 제목과 그림을 참조하는 링크에 해당 번호를 추가합니다.
위 내용은 JavaScript에서 CSS 카운터 값에 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

다른 날, 나는 Corey Ginnivan의 웹 사이트에서 스크롤 할 때 카드 모음이 서로 쌓이는 것을 발견했습니다.

Google Fonts가 새로운 디자인 (트윗)을 출시 한 것을 볼 수 있습니다. 마지막 큰 재 설계와 비교할 때 이것은 훨씬 더 반복적 인 느낌이 듭니다. 차이를 간신히 말할 수 있습니다

프로젝트에 카운트 다운 타이머가 필요한 적이 있습니까? 그런 것은 플러그인에 도달하는 것이 당연하지만 실제로는 훨씬 더 많습니다.

플렉스 레이아웃의 보라색 슬래시 영역에 대한 질문 플렉스 레이아웃을 사용할 때 개발자 도구 (d ...)와 같은 혼란스러운 현상이 발생할 수 있습니다.

요소 수가 고정되지 않은 경우 CSS를 통해 지정된 클래스 이름의 첫 번째 자식 요소를 선택하는 방법. HTML 구조를 처리 할 때 종종 다른 요소를 만듭니다 ...

새로운 프로젝트가 시작될 때, Sass 컴파일은 눈을 깜박이게합니다. 특히 BrowserSync와 짝을 이루는 경우 기분이 좋습니다.

프론트 엔드 개발에서 Windows와 같은 구현 방법 ...
