我在我的项目中使用 SVG ,并想在文本路径上使用 jQuery toggleClass 单击时的元素。
所以我在考虑:
$("text#names > textpath").click(function() {
$(this).toggleClass("newClass");
});
HTML源代码:
<text id="names" class="clickthrough">
<textpath class="zoom1" href="#text1" font-size="12.1"></textpath>
<textpath ... </textpath>
</text>
但没有任何反应。如果我$("text#names")
,我会上课点击率。所以它正在工作,只是文本路径可能不为jQuery所知。所以我发现http://keith-wood.name/svgref.html但在使用之前,我想确定我的情况是否真的需要它。
答案 0 :(得分:1)
jQuery的.class
不适用于SVG元素,您必须使用attr
代替:
$("text#names > textpath").click(function() {
$(this).attr("class", function(_, val){
return (val.indexOf("newClass")+1) ? val.replace(" newClass","") : val+" newClass";
});
});