【发布时间】:2017-05-26 13:55:31
【问题描述】:
我下载jsdom@11.0.0让我的react项目测试更容易。
但是我发现jsdom不能创建svg元素。
代码如下:
const dc = (new JSDOM(`...`)).window.document;
var svg = dc.createElementNS("http://www.w3.org/2000/svg", "svg");
var div = dc.createElement("div");
var svg2 = dc.createElement("svg");
console.log("svg:", svg, svg.createSVGPoint);
console.log("div:", div);
console.log("svg2:", svg2, svg2.createSVGPoint);
结果是:
svg: HTMLUnknownElement {} undefined
div: HTMLDivElement {}
svg2: HTMLUnknownElement {} undefined
我想在我的代码中做一些测试,但是 svg 不起作用。
我需要帮助。
非常感谢!
【问题讨论】:
-
似乎是有意的,SVG 由 HTMLUnkownElement 表示:github.com/tmpvar/jsdom/issues/1371#issuecomment-177606614
-
@Scarysize 官方点这样使用:
svg.outerHtml,我知道它的类型是字符串。所以,我用jQuery将它切换到typeof'Node'并尝试函数createSVGPoint:$(svg.outerHtml)[0].createSVGPoint,结果是:undefined----- :(。我阅读了相关问题,核心问题也是jsdom@11.0 .0 不支持 SVG。 -
outerHTML 和 innerHTML 总是返回字符串
标签: javascript node.js reactjs jsdom