バージョン : jQuery 1.11.0
下の fiddle は SVG rect (赤い正方形の) クラス操作の例です。
addClass() を使う
$("#rect").addClass("selected");
と(クラスを上書くので addClass () と等価ではないですが) attr() を使う
$("#rect").attr("class", "selected");
をそれぞれ呼びますが、addClass を押しても何も起きません。
SVG 要素のクラス操作は
javascript - jQuery SVG, why can't I addClass? - Stack Overflow
にもポストされていますが attr() でのアクセスが必要のようです。
これも上記の中の回答ママですが、attr() で特定クラスの加減を行うには
// addClass $('path').attr('class', function(index, classNames) { return classNames + ' class-name'; }); // removeClass $('path').attr('class', function(index, classNames) { return classNames.replace('class-name', ''); });
とするのが確かにスマートな感じです。