2017-01-30 10 views
0

jQueryを通してSVGのすべての要素からクラスを削除し、特定のIDにクラスを追加する方法はありますか?SVGのすべての要素からクラスを削除しますか?

私はIDでSVGの要素を切り替えることを試みていますが、データIDから来る正確なIDはわかりません。

jQueryの

var amenityid = $(this).attr("data-id"); 
    $('.amenitypage svg').removeClass("highlight"); 
    $('.amenitypage svg #' + amenityid).addClass("highlight"); 

UPDATE:これは私のために働くようです。ポリラインとポリゴンによる削除を指定した場合。

$('.amenitypage svg polyline,.amenitypage svg polygon').removeClass("highlight"); 
$('.amenitypage svg #' + amenityid).addClass("highlight"); 
+0

他の要素の中のすべてのクラスからクラスを削除したい場合、このセレクタはあなたのために働きます: '$( '。amenitypage svg *')' – empiric

答えて

0

あなたがsvgからすべての要素を削除した場合、それらをすべて削除すると、アメニティIDを見つけることができません。

svgタグ内のすべてを空にするには次のようにします。

$('.amenitypage svg').html(''); 
+0

質問とは何が関係していますか?彼はクラスを削除し、すべての要素を削除しないように頼んだ – empiric

0

あなただけちょうどそのクラスをターゲットとする代わりに、自身が最も簡単なのでようであるかもしれない要素をターゲットに、その後.hightlightクラスを削除する場合:

$('.highlight').removeClass("highlight"); 

そして、あなたが他の要素でハイライトクラスを持っている場合あなたのSVGの外に、あなただけのIDであなたのSVGをラップし、そのIDのハイライトクラス

$('#myElement .highlight').removeClass("highlight"); 

をターゲットここでフィドルであることができFiddle Demo

関連する問題