检索SVG文本的X和Y.

时间:2018-05-31 07:45:58

标签: javascript svg

我的页面上有一些SVG文本,我想获取它的x和y坐标并将其存储在局部变量中。

当我运行console.log(this)时,我得到:

<text class="myClass" x="400" y="330">This is not text.</text>

所以我认为我有正确的选择,我只需缩小范围。所以我尝试了console.log(this.y),但后来我得到了一些奇怪的对象:

SVGAnimatedLengthList {BaseVal: SVGLengthList, animVal: SVGLengthList}

并且该对象中的任何位置都与我的文本y位置的价值无关。

问题:如何将SVG文本的y值存储在本地变量中?使用this错了吗?我的意思是它似乎可以工作,因为y值正确来自console.log(this)。基本上我想要这样的东西:

var yValue = this.y

其中this.y给出了正确的值(在我的情况下y = 330)

1 个答案:

答案 0 :(得分:1)

SMIL和您可以拥有多个值这样的事实很复杂,例如x =&#34; 300 400 500&#34;

&#13;
&#13;
console.log(document.getElementsByTagName("text")[0].y.baseVal[0].value);
&#13;
<svg>
<text class="myClass" x="400" y="330">This is not text.</text>
</svg>
&#13;
&#13;
&#13;

或者在简单的情况下,您可以调用text.getAttribute(&#34; x&#34;)并将值作为字符串获取