创建SVG和Rectangle不起作用

迫害

我正在尝试创建一个简单的库以在HTML上使用SVG进行绘制。虽然代码生成了可以绘制所需内容的有效HTML,但是当我以编程方式执行此操作时,屏幕上没有任何内容。这是我正在使用的代码:

<!DOCTYPE html>
<html>
  <head>
    <title>Hello</title>
</head>
<body>
  <div id="diagram"></div>
  <script type="text/javascript">
    function Diagram(div) {
      div = document.getElementById(div);
      svg = document.createElement("svg");
      svg.setAttribute("width", "600");
      svg.setAttribute("height", "400");
      div.appendChild(svg);

      this.diagram = svg;
      this.rectangle = function (x, y, width, height) {
        rect = document.createElement("rect");
        rect.setAttribute("x", x);
        rect.setAttribute("y", y);
        rect.setAttribute("width", width);
        rect.setAttribute("height", height);
        this.diagram.appendChild(rect);
      }
    }

      var diagram = new Diagram("diagram");
      diagram.rectangle(100, 100, 100, 100);
  </script>
</body>
</html>

不用说,我没有使用JS的经验,并且将它用作学习JS和SVG的练习,但是我无法理解为什么我的示例不起作用:-(

阿德内

创建SVG元素时,您将使用createElementNS具有限定名称空间的元素来创建元素,例如SVG元素

document.createElementNS("http://www.w3.org/2000/svg", "svg");

对于某些属性,您应该使用setAttributeNS,但是对于常规属性(例如width和height)setAttribute应该起作用

svg.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:xlink", "http://www.w3.org/1999/xlink");

小提琴

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SVG不起作用

来自分类Dev

Angular 和 svg 中的 SVG:前缀不起作用

来自分类Dev

使用<use>动态创建时,SVG <animate>不起作用

来自分类Dev

SVG动画keySplines和keyTimes不起作用

来自分类Dev

svg更改路径在Firefox和Safari中不起作用

来自分类Dev

SVG和SCSS评为5星:悬停不起作用

来自分类Dev

宽度和高度在SVG <use>元素中不起作用

来自分类Dev

onclick使用按钮和svg图标不起作用

来自分类Dev

SVG动画keySplines和keyTimes不起作用

来自分类Dev

动态类绑定 svg 和 vue 不起作用

来自分类Dev

SVG标记不起作用

来自分类Dev

SVG标记不起作用

来自分类Dev

SVG面罩不起作用

来自分类Dev

在jstree中创建删除和重命名不起作用

来自分类Dev

循环创建时,JQuery按钮和滑块不起作用

来自分类Dev

创建表不起作用

来自分类Dev

CRUD - 创建不起作用

来自分类Dev

指向Point w Rectangle uwing set()和Intersection()的ID交集的Python类方法不起作用

来自分类Dev

Circle 和 Rectangle 之间的碰撞在拐角处不起作用(javafx)

来自分类Dev

与SVG Sprites一起使用时,SVG在IE和Safari中不起作用。

来自分类Dev

jQuery .not()和:not()不起作用

来自分类Dev

for(){}和setInterval()不起作用

来自分类Dev

发射()和on()不起作用

来自分类Dev

从Javascript访问SVG不起作用

来自分类Dev

SVG在Mozilla Firefox中不起作用

来自分类Dev

响应式SVG,即不起作用

来自分类Dev

SVG 100%文档高度不起作用

来自分类Dev

HTML中的SVG不起作用

来自分类Dev

SVG Sprite在Safari中不起作用