我的页面上有一些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)
答案 0 :(得分:1)
SMIL和您可以拥有多个值这样的事实很复杂,例如x =&#34; 300 400 500&#34;
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;
或者在简单的情况下,您可以调用text.getAttribute(&#34; x&#34;)并将值作为字符串获取