Я использую Snap.svg для загрузки изображения SVG и добавления в него текстовых элементов. Тем не менее, мне нужно иметь возможность обновлять текстовые элементы при загрузке страницы.
Сейчас я делаю что-то вроде этого:
var svg = Snap("#selector");
var text;
Snap.load(path_to_file, function(f) {
svg.append(f);
var g = svg.select("g");
text = g.text(x_pos, y_pos, label);
}
Скажем, я хочу обновить текст позже, как мне это сделать? Я гарантированно обновляю объект text
после его создания после вызова load
.
Единственный способ, которым мне удалось изменить текст, - это установить элемент id
для элемента, а затем выполнить его с помощью jQuery следующим образом:
self.selector.find("#my_id")[0].textContent = "New text";
Однако это кажется действительно неправильным, и я думаю, что я мог бы просто что-то упустить с помощью API Snap.