如何使用Snap.svg更新SVG文本元素?
How do I update an SVG text element using Snap.svg?
我使用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);
}
假设我想稍后更新文本,我该怎么做?我保证在调用load
后创建text
对象后更新它。
我设法修改文本的唯一方法是通过设置一个id
元素,然后用jQuery这样做:
self.selector.find("#my_id")[0].textContent = "New text";
然而,这感觉真的不对,我想我可能只是错过了一些与Snap API
我认为应该像
这样简单。text.attr({ text: 'my new text'});
setTimeout( function() { text.attr({ text: 'my new text'}) }, 2000 );
将测试它
另一种方法,您可以使用Element.node
直接获得DOM节点的引用,因此您可以随意使用
text.node.textContent = "New text";
text.node.innerHTML = "New text";
text.node.innerHTML = 'a<tspan dy="5">2</tspan>'
使用jquery
$(s.select('#id').node).text('new text');
相关文章:
- 如何在浏览器中选择所有*renderable*文本元素
- 如何使用RaphaelJS将文本元素约束在正方形中
- 使用d3.js删除svg文本元素
- 替换动态生成的文本元素
- Protractor测试:如何设置登录表单中文本元素的值
- 如何获取与提交表单上所选复选框相同行的文本元素
- SVG文本锚点设置使文本元素移动
- Svg文本元素被另一个Svg元素重叠
- Imacros替换文本元素
- Windows 8 上的 Safari 5 反转 SVG 上的所有文本元素
- 运行 PHP 代码以根据文本元素的值从数据库中获取值
- 我想要输入文本元素中的实时更改事件
- 如何使用 jQuery 忽略文本元素上的特定字符
- RaphaelJS中的文本元素不会在触摸设备上拖动
- d3 - 旋转数组中的文本元素
- 如何通过单击复选框将文本元素从输入复制到另一个输入
- .text() 给出元素中的所有文本元素
- 在函数内调用对象文本元素
- 移动文本元素与弧拉斐尔JS
- 编辑文本元素时,将重置后端用户设置