【发布时间】:2012-12-19 22:26:22
【问题描述】:
<svg>
<text id="test" x="0" y="15"></text>
</svg>
,
d3.select("#test").text("aaa");
或
document.getElementById("test").textContent("aaa");
工作正常。但我需要为文本添加样式。现在:
d3.select("#test").text('aaa <tspan style="font-weight:bold">bbb</tspan> ccc');
不幸的是不起作用,因为参数被视为纯字符串。解决此问题的最佳跨浏览器解决方案是什么?
【问题讨论】:
-
d3.select("#test).html('<span>Hi</span>')不是吗?嗯,实际上这就是 jQuery 语法,否则你需要("#test").innerHTML+=或("#test").element.innerHTML+=。这取决于d3.select("#test")返回的内容 -
“
-
我的意思是这个..:
d3.select("#test").html('aaa <tspan style="font-weight:bold">bbb</tspan> ccc'); -
例如,我在控制台中的这个站点github.com/mbostock/d3/wiki/Selections 上尝试了这个
d3.select("#wiki-content").html("<h1>Abcd</h1>"),它起作用了:) 这意味着你也可以添加内联样式或类(=更好)跨度>
标签: javascript svg d3.js