V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Pokemon123
V2EX  ›  问与答

如何判断一个 dom 节点是否是 SVG 节点?

  •  
  •   Pokemon123 · 2020-10-14 10:55:10 +08:00 · 1791 次点击
    这是一个创建于 1526 天前的主题,其中的信息可能已经有所发展或是发生改变。
    7 条回复    2020-10-14 14:25:12 +08:00
    imn1
        1
    imn1  
       2020-10-14 10:58:20 +08:00
    ?什么意思
    name 是 svg ?
    xpath 内含有 svg ?
    wszgrcy
        2
    wszgrcy  
       2020-10-14 11:03:16 +08:00 via Android
    parentnode svg ?
    ssthouse
        3
    ssthouse  
       2020-10-14 11:23:06 +08:00
    直接看 DOM 节点的 tagName 是不是 SVG 节点就行:
    ['svg', 'g', 'text', 'path'].includes(domElement.tagName)
    iMusic
        4
    iMusic  
       2020-10-14 12:10:39 +08:00   ❤️ 1
    svg.ownerSVGElement = null
    path.ownerSVGElement = svg
    other.ownerSVGElement = undefined
    Pokemon123
        5
    Pokemon123  
    OP
       2020-10-14 13:27:40 +08:00
    @iMusic 判断他的 ownersSVGElement 是不是 svg,如果是 svg 就说明他是一个 svg element 是这个意思吗?
    Pokemon123
        6
    Pokemon123  
    OP
       2020-10-14 13:29:28 +08:00
    @ssthouse 把所有的 svg element 类型放到一个数组里面去判断是否包含,所有类型会不会太多了放进去。
    iMusic
        7
    iMusic  
       2020-10-14 14:25:12 +08:00
    @Pokemon123 `elem instanceof SVGElement ` 就可以了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1042 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:29 · PVG 03:29 · LAX 11:29 · JFK 14:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.