jQuery SVG 클래스 조작 문제
jQuery SVG 조작 영역에서 사용자는 때때로 SVG 요소에서 클래스를 추가하거나 제거하는 데 어려움을 겪습니다. 이 문제를 유발하는 일반적인 시나리오는 jQuery로 SVG 개체를 대상으로 하고 .addClass() 메서드를 활용하려고 시도하는 것입니다.
제공된 코드 조각은 문제를 강조합니다.
<rect class="jimmy"></rect>
$(".jimmy").click(function() { $(this).addClass("clicked"); });
jQuery와 SVG 통합은 이벤트 처리에 완벽하게 작동하지만 클래스 조작은 성공하지 못합니다.
기본 원인
근본 원인은 v3 이전 버전의 jQuery에서 SVG 클래스 조작에 대한 제한된 지원에 있습니다. 이 문제는 jQuery가 HTML 요소와 비교하여 SVG 요소를 다르게 처리한다는 사실에서 비롯됩니다.
솔루션
이 문제를 해결하기 위해 여러 솔루션이 제시됩니다.
- jQuery v3 수용: jQuery v3 이상에서는 이 제한 사항을 해결하여 다음을 사용하여 SVG 요소에서 클래스를 원활하게 추가하고 제거할 수 있습니다. .addClass() 및 .removeClass().
- 바닐라 JavaScript 채택: 최신 브라우저는 SVG 요소의 클래스 조작에 대한 기본 지원을 제공합니다. classList.add() 및 classList.remove() 메서드를 활용하면 jQuery에 대한 안정적인 대안이 제공됩니다.
- Harness jQuery의 .attr() 메서드: jQuery를 계속 사용하려면 다음을 고려하세요. .attr() 메소드를 활용하여 클래스 속성 수정
// Add class using .attr() $("#item").attr("class", "oldclass newclass"); // Remove class using .attr() $("#item").attr("class", "oldclass");
- .setAttribute()를 사용하여 바닐라 JavaScript를 수용: 또는 바닐라 JavaScript를 사용하여 클래스 속성을 조작할 수도 있습니다.
// Add class using .setAttribute() var element = document.getElementById("item"); element.setAttribute("class", "oldclass newclass"); // Remove class using .setAttribute() element.setAttribute("class", "oldclass");
위 내용은 jQuery AddClass()가 SVG 요소에서 작동하지 않는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

csScounterSearedTomanageAutomaticNumberingInberingInwebDesigns.1) 1) theCanbeusedfortablestoffContents, ListItems 및 CustomNumbering.2) AdvancedUsesInSinestedNumberingsystems.3) CreativeUseNvolvecust를 CreativeSinvolecust.4) CreativeSinvolvecust

특히 모바일 장치에 스크롤 그림자를 사용하는 것은 Chris가 이전에 다룬 미묘한 UX입니다. Geoff는 애니메이션 타임 라인 속성을 사용하는 새로운 접근 방식을 다루었습니다. 또 다른 방법이 있습니다.

빠른 새로 고침을 통해 실행합시다. 이미지 맵은 html 3.2로 돌아가는데, 먼저 서버 측 맵과 클라이언트 측지 맵은 맵 및 영역 요소를 사용하여 이미지를 통해 클릭 가능한 영역을 정의했습니다.

Devs State Survey는 이제 참여에 개방되어 있으며, 이전 설문 조사와 달리 코드, 직장, 건강, 취미 등을 제외한 모든 것을 포함합니다.

CSS 그리드는 복잡하고 반응이 좋은 웹 레이아웃을 만드는 강력한 도구입니다. 디자인을 단순화하고 접근성을 향상 시키며 이전 방법보다 더 많은 제어를 제공합니다.

기사는 반응 형 설계에서 공간의 효율적인 정렬 및 분포를위한 레이아웃 방법 인 CSS Flexbox에 대해 설명합니다. Flexbox 사용을 설명하고 CSS 그리드와 비교하고 브라우저 지원 세부 사항을 설명합니다.

이 기사는 Viewport Meta 태그, 유연한 그리드, 유체 미디어, 미디어 쿼리 및 상대 장치를 포함하여 CSS를 사용하여 반응 형 웹 사이트를 만드는 기술에 대해 설명합니다. 또한 CSS 그리드 및 Flexbox를 함께 사용하여 CSS 프레임 워크를 권장합니다.

이 기사는 요소 치수 계산 방법을 제어하는 CSS 박스 크기 속성에 대해 설명합니다. Content-Box, Border-Box 및 Padding-Box와 같은 값과 레이아웃 설계 및 형태 정렬에 미치는 영향을 설명합니다.


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

WebStorm Mac 버전
유용한 JavaScript 개발 도구

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

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

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.