D3-append('foreignObject')只添加一个文本和tspan元素
D3 - append('foreignObject') only adds a text and tspan element
所以这让我抓狂:(.我使用D3生成一个svg文档,然后在phantomJs中渲染它,并将输出保存为.svg.
在代码中,我生成一个foreignObject
,如下所示:
svg.select("#def-commit")
.append('foreignObject')
.attr('width', 100)
.attr('height', 100)
.attr('x', 50)
.attr('y', 50)
.attr('requiredFeatures','http://www.w3.org/TR/SVG11/feature#Extensibility')
.append('xhtml:p')
.text("a big chunk of text that should wrap");
现在奇怪的是,生成的文档在DOM中根本没有foreignObject
节点。相反,它具有一个text
和一个嵌套的tspan
。像这样:
<g xmlns="http://www.w3.org/2000/svg" id="def-commit">
<circle r="15" cx="0" cy="0"/>
<text xmlns="http://www.w3.org/1999/xhtml"><tspan style="font-size: 11.5pt; font-family: "sans-serif";" x="0" y="14.5">a big chunk of text that should wrap</tspan>
</text>
</g>
我错过了什么?
其他信息:D3-最新-3.5.16SVG声明
<svg xmlns:xhtml="http://www.w3.org/1999/xhtml" id="mermaidChart0" width="1200" height="904.0178571428571" style="width: 1192; height: 904.0178571428571;" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
所以,这是一场大雁追逐赛!
一点背景——我正试图为美人鱼添加一个图表。
美人鱼repo中有一段代码可以扫描svg,并将所有foreignObjects替换为text/tspan:)只是我从未想象过这样的事情,我也不知道为什么我没有像往常一样编译源代码!
如果有人真的降落在这里(尽管我对此表示怀疑),它就在"lib/fintomscript.js"上
感谢阅读。
- 如何使用jquery在填充自动完成的值后使文本框只读
- 使用Clipboard.js复制span文本
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 用程序搜索JQuery数据表中的文本
- jQuery匹配JSON对象的部分文本
- onkeyup无法动态创建多个文本区域
- 如何在下面的ES6循环中获得前面的文本
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 借助asp.net验证或java脚本对多个文本进行验证
- 无法在ajaxStart中更改跨度文本
- 高亮显示时编辑文本大小和颜色
- jquery中的文本框验证
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- 如何使用tspan拆分Ext.draw.text中的长文本
- <tspan>文本</tspan>如果没有定义id或类,如何删除文本
- D3-append('foreignObject')只添加一个文本和tspan元素
- 在带有D3js的SVG中选择带有tspan说明符的文本元素的内容
- svg-<tspan>内部<文本>在FF和Safari中不可见
- 如何在没有异物的情况下设置svg文本tspan的背景颜色