ホームページ > ウェブフロントエンド > 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: addClass ができない問題のトラブルシューティング

jQuery SVG を使用する場合、SVG オブジェクトへのクラスの追加または削除で問題が発生する場合があります。この記事では、原因を調査し、解決策を提供します。

問題:

次のコードを考えてみましょう:

<rect>
ログイン後にコピー

オブジェクトをクリックしたときにアラートをトリガーできるようになり、「clicked」クラスを追加します

解決策:

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート