Как я могу изменить текст в snap.svg - PullRequest
0 голосов
/ 25 октября 2019

Я делаю рисунок на сайте со строками и текстом. я использую snap.svg en JQuery.

s - поверхность рисования, группа g с идентификатором "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

Ответы [ 2 ]

0 голосов
/ 01 ноября 2019

В конце концов, селектор Snap сделал это для большинства текстовых элементов, но для некоторых - нет (я не мог понять, почему). Поэтому я пробую это снова с JQuery, и следующее работает.

JQuery("#g54").children().text("this is my text");
0 голосов
/ 26 октября 2019

В Snap атрибут текста должен работать.

var t = s.text(120, 120, "outside").attr({ "font-size": "15px" })
g.add(t)
t.attr("text","changed")

Вы можете ссылаться на существующие элементы SVG в Snap с помощью метода Snap (). Например,

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

Так что вы также можете попробовать

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

Я не уверен, что jquery работает правильно с svg, поэтому лучше использовать Snap direct.

...