Jquery 如何更改snap.svg中的文本

Jquery 如何更改snap.svg中的文本,jquery,snap.svg,Jquery,Snap.svg,我用线条和文字在网站上画了一幅画。我使用snap.svg en JQuery s是绘图面,g是id为g54的组 g.add(s.text(120, 120, "outside").attr({ "font-size": "15px" })); 我想更改文本,我尝试了几种方法。 我可以更改文本的位置、颜色,但不能更改文本本身 $("#g54 text").attr({ x: 800, y: 700}); $("#g54 text").attr({ stroke: "red" }); $("

我用线条和文字在网站上画了一幅画。我使用snap.svg en JQuery

s是绘图面,g是id为g54的组

g.add(s.text(120, 120, "outside").attr({    "font-size": "15px" }));
我想更改文本,我尝试了几种方法。 我可以更改文本的位置、颜色,但不能更改文本本身

$("#g54 text").attr({ x: 800, y: 700});
$("#g54 text").attr({ stroke: "red" });
$("#g54 text").attr({ text: "test", x: 800, y: 700 });//text doesn't work
$("#g54 text").attr({ innerHTML: "test" });   //innerHTML doesn't work
$("#g54 text").attr({ "innerHTML": "test" });   //innerHTML doesn't work

在“捕捉”中,“文本”属性应起作用

var t = s.text(120, 120, "outside").attr({ "font-size": "15px" })
g.add(t)
t.attr("text","changed")
可以使用Snap方法在Snap中引用现有的SVG元素。乙二醇

Snap("#textelement").attr("text","changed")
所以你也可以试试

Snap("#g54 text").attr("text","changed")

我不确定jquery是否能很好地与svg配合使用,因此最好使用Snap direct。

毕竟,Snap选择器对大多数文本项都起到了作用,但对某些文本项,我不知道为什么。因此,我用JQuery再次尝试了它,下面的工作就完成了

JQuery("#g54").children().text("this is my text");