document.createElement("svg") instanceof SVGElement 为 false
Posted
技术标签:
【中文标题】document.createElement("svg") instanceof SVGElement 为 false【英文标题】:document.createElement("svg") instanceof SVGElement is false 【发布时间】:2014-08-02 05:19:40 【问题描述】:当我在 chrome 中尝试代码 document.createElement("svg") instanceof SVGElement
时,它返回 false
。为什么?
【问题讨论】:
【参考方案1】:在任何上下文中创建一个像<svg>
这样的元素并且凭空创建一个未知元素。如果要创建 SVG 元素,请使用:
var a = document.createElementNS("http://www.w3.org/2000/svg", "svg");
现在如果你比较一下:
var result = a instanceof SVGElement;
result
将是 true
。
查看此 JSFiddle
中的工作示例【讨论】:
jQuery 用户注意事项:我发现如果我通过 jQuery 检索一个 svg 元素,例如$('svg')
,它就不是 SVGElement。您必须获取 dom 元素 $('svg').get(0)
才能使 instanceof SVGElement
为真。以上是关于document.createElement("svg") instanceof SVGElement 为 false的主要内容,如果未能解决你的问题,请参考以下文章
通过 innerHTML 和 document.createElement 创建 HTML 有啥区别? [复制]
js 的document.createElement(img)问题
怎么清除用document.createElement("a")创建的节点