> 웹 프론트엔드 > CSS 튜토리얼 > jQuery를 사용하여 SVG 요소에 클래스를 추가할 수 없는 이유는 무엇입니까?

jQuery를 사용하여 SVG 요소에 클래스를 추가할 수 없는 이유는 무엇입니까?

Patricia Arquette
풀어 주다: 2024-12-27 16:06:10
원래의
964명이 탐색했습니다.

Why Can't I Add Classes to SVG Elements with jQuery?

jQuery SVG: 클래스 추가 불가 문제 해결

jQuery SVG로 작업할 때 SVG 개체에서 클래스를 추가하거나 제거하는 데 문제가 발생할 수 있습니다. 이번 글에서는 원인을 조사하고 해결책을 제시하겠습니다.

문제:

다음 코드를 고려해보세요.

<rect>
로그인 후 복사

에도 불구하고 개체를 클릭할 때 경고를 트리거할 수 있으며 "클릭" 클래스를 추가할 수 있습니다. 실패합니다.

해결책:

jQuery 3 이전에는 SVG 요소에 클래스를 추가하는 데 문제가 있었습니다. 그러나 이 문제는 jQuery 3에서 해결되었습니다. 또한 최신 브라우저는 SVG 요소에 대해 바닐라 JavaScript classList.add('newclass') 메서드를 지원합니다.

대체 jQuery 접근 방식:

jQuery를 계속 사용하려면 다음을 사용하여 클래스 속성을 직접 조작할 수 있습니다. attr():

// Add "newclass"
$("#item").attr("class", "oldclass newclass");

// Remove "newclass"
$("#item").attr("class", "oldclass");
로그인 후 복사

바닐라 JavaScript 접근 방식:

jQuery 종속성을 방지하려면 다음 바닐라 JavaScript 코드를 사용하세요.

var element = document.getElementById("item");

// Add "newclass"
element.setAttribute("class", "oldclass newclass");

// Remove "newclass"
element.setAttribute("class", "oldclass");
로그인 후 복사

위 내용은 jQuery를 사용하여 SVG 요소에 클래스를 추가할 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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