SVG获取<use>引用的<image>的父级

时间:2019-06-07 08:57:32

标签: javascript html svg

我有一个<svg>元素,在<image>标记下包含一些<defs>元素,这些元素由某些<use>元素引用,如下所示:

    <svg xmlns="http://www.w3.org/2000/svg" ...>
      <defs>
        <image height="100%" id="test" width="100%" xlink:href="data:image/png;base64,..."/>
      </defs>
      <g transform="translate(111,222)">
        <svg height="100" width="200" x="0" y="0">
          <use xlink:href="#test"/>
        </svg>
      </g>
    </svg>

我有一个遍历svg元素的javascript函数,在某个点上,我得到了<use>所引用的图像。 我想做的是从<svg>元素中获取<use>上方<image>的高度/宽度。

如果尝试:

image.parentElement 

我得到<defs>元素,而不是<use>元素。

如何找到引用图像的元素? 我可以尝试搜索包含xlink:href="#test"的元素,但是有没有直接的方法可以从引用的<image>中获取它呢?

很抱歉出现noob问题,但是我是javascript / html的新手。

1 个答案:

答案 0 :(得分:0)

不。无法直接从<use>元素获取<image>元素。