Can';t通过JavaScript设置SVG文本的颜色

Can';t通过JavaScript设置SVG文本的颜色,javascript,svg,Javascript,Svg,我使用javascript创建svg文本,然后设置属性,但有些属性无法正常工作: let svgns = "http://www.w3.org/2000/svg"; let container = document.getElementById("mySVG"); var text = document.createElementNS(svgns, "text"); text.setAtt

我使用javascript创建svg文本,然后设置属性,但有些属性无法正常工作:

      let svgns = "http://www.w3.org/2000/svg";
      let container = document.getElementById("mySVG");
      var text = document.createElementNS(svgns, "text");
      text.setAttributeNS(null, "x", 30);
      text.setAttributeNS(null, "y", 20);
      text.textContent = "Hello!";
      text.style.fontSize = "50"; 
      text.style.fontFamily = "Arial";
      text.style.color = "red"; // does'nt display
      text.style.textIdent = "500px"; // does'nt store in the attributes
      text.style.textShadow = "5px 5px 10px pink";
      text.style.textOrientation = "upright";
      text.style.textOverflow = "ellipsis";
      text.style.textRendering = "auto";
      text.style.writingMode = "vertical-rl";
      container.appendChild(text);
然后,我用

      for (let prop in text.style) {
        let val = text.style[prop];
        console.log(`${prop} = ${val}`);
      }
结果是:

因此,在末尾,“红色”存储在“颜色”属性中,但它不显示(浏览器中的文本仍然为黑色-Chrome,版本90.0.4430.93(Build Officel)(x86_64)), 而且文本缩进也没有值(其他属性表现良好)


有什么线索吗?

SVG文本不是HTML文本。它有一组不同的CSS属性-其中一些与HTML文本重叠,但不是全部-例如,SVG文本没有边框属性。并且没有“颜色”属性(您想要“填充”)

请阅读有关文本元素的文档:


SVG文本不是HTML文本。它有一组不同的CSS属性-其中一些与HTML文本重叠,但不是全部-例如,SVG文本没有边框属性。并且没有“颜色”属性(您想要“填充”)

请阅读有关文本元素的文档:


我对
text.style.border=“solid”也有同样的问题它位于属性中,但不显示。我与
text.style.border=“solid”有相同的问题它在属性中,但没有显示我不完全明白的是,如果我使用console.log(文本),我会说“Hello!”,如果我在HTML中复制/粘贴它,它会显示边框和正确的颜色…如果你复制并粘贴到HTML中,文本元素被视为未知的HTML元素:我不完全明白的是,如果我使用console.log(文本),我会说“Hello!”,如果我在HTML中复制/粘贴它,它会显示边框和正确的颜色……如果复制并粘贴到HTML中,文本元素将被视为未知的HTML元素: