我正在使用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); }
假设我想稍后更新文字,该怎么做?我保证在调用加载后创建文本对象后更新文本对象.
我设法修改文本的唯一方法是将id设置为元素,然后使用jQuery这样做:
self.selector.find(“#my_id”)[0] .textContent =“新建文本”;
然而,这感觉真的是错误的,我想我可能只是用Snap API缺少一些东西.
解决方法
我觉得应该是那么简单
text.attr({ text: 'my new text'});
所以
setTimeout( function() { text.attr({ text: 'my new text'}) },2000 );
会测试它