使用foreignObject使用D3js动态添加SVG

2024-04-04

working

<g>
<foreignObject width="100%" height="100%">
<body>
<div style="width:4em;height:4em">
<object height="100%" width="100%" 
        data="icons/cloud.svg" type="image/svg+xml">


</object>
</div>
</body>
</foreignObject>
<text x="0" y="15" fill="red">I love SVG</text>
</g>

</svg>

不工作

我正在尝试使用 d3js 动态添加相同的内容。但它只是添加 DOM 元素结构,而不是加载 SVG 图像。

d3.select("body").append("svg")
.append("foreignOject").attr("height","100%").attr("width","100%")
.append("body")
.append("div").style("width","4em").style("height","4em")
.append("object").attr("height","100%").attr("width","100%")
.attr("data","icons/cloud.svg").attr("type","image/svg+xml");

After xhtml: prefix also same. I don't know why that 'object' tag is not loading SVG image. Please check the following SC: enter image description here


您需要在外部 html 元素前面添加 xhtml: 前缀,以便 d3 在 xhtml 命名空间中创建它。因此,例如,append("body") 正确地写为append("xhtml:body") 。

d3 元素从其父元素获取默认命名空间,因此如果您编写 xhtml:body,则内部 div 可以写为“div”或“xhtml:div”

您还将foreignObject 错误地拼写为foreignOject。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用foreignObject使用D3js动态添加SVG 的相关文章

随机推荐

  • json_encode 将数组转换为对象

    我已经为一个网站创建了一个 喜欢 系统 但我在 json encode 和 json decode 方面遇到了一些麻烦 我使用数组来存储谁喜欢了某个帖子 因此我需要这两个函数来使其可存储 但由于某种原因 它有时会将对象保存到数据库中 1 a
  • Notepad++:块注释不起作用

    I am running Notepad 5 8 5 on Windows 7 editing Perl programs I would like to comment out a block of text lines and late
  • Nil 与预期参数类型 UIViewAnimationOptions 不兼容

    我刚刚开始编程并按照在线教程进行操作 但无法创建此动画 谁能告诉我为什么它说 Nil 与预期参数类型 UIViewAnimationOptions 不兼容 以及如何解决它 view addSubview myFirstLabel UIVie
  • 检测数组中唯一值的数量

    我正在寻找一种有效的方法来检测数组中唯一值的数量 我目前的做法 快速排序整数数组 然后运行循环来比较元素 In code yearHolder for I 0 to High yearArray do begin currYear year
  • Symfony EasyAdminBundle 3 覆盖 createIndexQueryBuilder()

    EasyAdminBundle 文档上说 例如 index 操作调用名为 createIndexQueryBuilder 的方法来创建用于获取索引列表上显示的结果的 Doctrine 查询构建器 如果您想自定义该列表 最好重写 create
  • 使用 CometD Java 客户端发布消息,供 Javascript 订阅者使用

    我有一个使用 CometD 的 Java Web 应用程序 工作流程很简单 我定义了一个服务 该服务在接收通道 service hello 上的消息时起作用 该服务需要一个参数 name 在此基础上 它创建了一个名为 message get
  • 检测C# Windows窗体应用程序的启动路径

    我想知道 C 2 0 Windows 窗体应用程序的应用程序启动路径 一种方法是Application StartupPath 还有其他方法可以找到应用程序的启动路径吗 AppDomain CurrentDomain BaseDirecto
  • 得到组与星号的匹配?

    如何获取带星号的群组的内容 例如 我想删除一个逗号分隔的列表 e G 1 2 3 4 5 private static final String LIST REGEX d d private static final Pattern LIS
  • iPhone 4 用户代理是什么?

    有人找到 iPhone 4 浏览器的用户代理字符串了吗 Mozilla 5 0 iPhone U CPU iPhone OS 4 0 like Mac OS X en us AppleWebKit 532 9 KHTML like Geck
  • Angular - 子组件可以引用父组件的模板变量吗?

    我正在使用 primefaces primeng 组件开发 Angular 4 应用程序 p contextmenu 我试图告诉子元素使用父组件的模板变量 应用程序 html div div
  • 如何自定义垫选择选项组以允许角度中的嵌套值

    我正在自定义角度材质选择 自动完成以允许嵌套下拉菜单 在这里 我想要一个包含多个孩子的家长下拉菜单 如果我展开特定的父下拉列表 则只有该下拉列表的子项应该展开或折叠 同样 在同一场景中也应选择复选框事件 我面临两个问题 搜索 自动完成不起作
  • jhipster 使用 prod 配置文件运行嵌入式 jar - liquibase 问题

    我已经将我的应用程序打包为 mvn Pprod 包 然后我跑了 java jar myapp 0 0 1 SNAPSHOT war 效果很好 但如果我跑 java jar myapp 0 0 1 SNAPSHOT war spring pr
  • 检测 DOM 中的变化

    我想在 html 中添加一些 div 或输入时执行一个函数 这可能吗 例如 添加一个文本输入 然后应该调用该函数 迄今为止的终极方法 代码最少 IE11 FF Webkit Using 变异观察者 https developer mozil
  • 如何消除警告LNK4221?

    我正在使用 c windows 表单 Visual Studio 2010 开发一个项目 我们有 4 个项目 1 个包含 GUI Windows 窗体 托管代码 的项目 这是 exe 项目 其他3个项目 非托管代码 并且都是静态库 在这 4
  • Java中易失性变量和普通变量的显示区别

    我正在尝试创建一个示例来显示易失性变量和常用变量之间的区别 例如 package main public class TestVolatile extends Thread public int l 5 public volatile in
  • UITableView reloadData 不重新加载

    我很困惑为什么 reloadData 不重新加载 tableview 它不调用numberOfRowsInSection The fetchedResultsController将新数据保存到核心数据后确实获得新行 在将新数据添加到表视图之
  • Java - 易失性的使用仅在多处理器系统中有意义?

    易失性的使用仅在多处理器系统中才有意义 这是错误的吗 我正在尝试学习线程编程 所以如果你知道任何好的文章 pdf 我喜欢提到一些关于操作系统如何工作的东西 而不仅仅是语言的语法 否 挥发性可用于多线程应用程序 它们可能会也可能不会在多个处理
  • 将 javascript 字符串转换为 html 对象 [重复]

    这个问题在这里已经有答案了 我可以将字符串转换为 html 对象吗 喜欢 string s div div var htmlObject s toHtmlObject 这样我以后就可以通过 id 获取它并对其样式进行一些更改 var ho
  • 如何在CKEditor激活时在HTML5文本区域中显示占位符属性?

    我在 HTML5 网站中有一个文本区域 具有适当的占位符 示例文本 属性 在我通过 CKEditor 添加 RichText 支持之前 它显示得很好 CKEditor GUI 正在重新创建文本区域 并且不显示其中的占位符文本 有没有办法在
  • 使用foreignObject使用D3js动态添加SVG

    working