how to get svg text tspan x,y position value in js


<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="976px" height="471px" viewBox="0 0 976 471" version="1.1">
<!-- Generator: Sketch 53 (72520) - https://sketchapp.com -->
<title>Group</title>
<desc>Created with Sketch.</desc>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Group" transform="translate(-3.000000, 0.000000)">
<rect id="Rectangle" stroke="#979797" fill="#35D9F6" x="249.5" y="0.5" width="425" height="136"/>
<text id="舞台" font-family="PingFangSC-Regular, PingFang SC" font-size="23" font-weight="normal" fill="#E35E1D">
<tspan x="439" y="77">舞台</tspan>
</text>
<polyline points="20,20 40,25 60,40 80,120 120,140 200,180" style="fill:none;stroke:black;stroke-width:3"/>
<polygon id="Polygon" stroke="#979797" fill="#F48787" points="79 216 154.133465 276.461013 125.435035 374.288987 32.5649651 374.288987 3.86653521 276.461013"/>
<rect id="Rectangle" stroke="#979797" fill="#6250F3" x="262.5" y="332.5" width="405" height="138"/>
<rect id="Rectangle" stroke="#979797" fill="#92E757" x="791.5" y="162.5" width="187" height="299"/>
<text id="左边" font-family="PingFangSC-Regular, PingFang SC" font-size="23" font-weight="normal" fill="#61F849">
<tspan x="56" y="312">左边</tspan>
</text>
<text id="后区-C" font-family="PingFangSC-Regular, PingFang SC" font-size="23" font-weight="normal" fill="#61F849">
<tspan x="430" y="410">后区 C</tspan>
</text>
<text id="右区" font-family="PingFangSC-Regular, PingFang SC" font-size="23" font-weight="normal" fill="#F31FEF">
<tspan x="862" y="320">右区</tspan>
</text>
</g>
</g>
</svg>

getStartPositionOfChar(text) & getEndPositionOfChar(text)



temp1.getStartPositionOfChar(temp1);
// SVGPoint {x: 430, y: 410} temp1.getEndPositionOfChar(temp1);
// SVGPoint {x: 453, y: 410}

temp1
// <text id=​"后区-C" font-family=​"PingFangSC-Regular, PingFang SC" font-size=​"23" font-weight=​"normal" fill=​"#61F849">​…​</text>​ temp1.getBBox();
// SVGRect {x: 430, y: 386, width: 70.40625, height: 32} temp1.innerHTML;
/*"
<tspan xmlns="http://www.w3.org/2000/svg" x="430" y="410">后区 C</tspan>
"
*/ temp1.innerText
// undefined temp1.textContent;
/*
"
后区 C
"
*/ temp1.getBBox();
// SVGRect {x: 430, y: 386, width: 70.40625, height: 32}x: 430y: 386width: 70.40625height: 32__proto__: SVGRect temp1.getBoundingClientRect();
// DOMRect {x: 427, y: 386, width: 70.40625, height: 32, top: 386, …}x: 427y: 386width: 70.40625height: 32top: 386right: 497.40625bottom: 418left: 427__proto__: DOMRect temp1.getAttribute(`fill`)
// "#61F849" temp1.textLength;
// SVGAnimatedLength {baseVal: SVGLength, animVal: SVGLength}baseVal: SVGLength {unitType: 0, value: 70.40298461914062, valueInSpecifiedUnits: 70.40298461914062, valueAsString: "70.403"}unitType: 0value: 70.40298461914062valueInSpecifiedUnits: 70.40298461914062valueAsString: "70.403"__proto__: SVGLengthanimVal: SVGLength {unitType: 0, value: 70.40298461914062, valueInSpecifiedUnits: 70.40298461914062, valueAsString: "70.403"}__proto__: SVGAnimatedLength temp1.getComputedTextLength();
// 70.40298461914062 temp1.getStartPositionOfChar(temp1);
// SVGPoint {x: 430, y: 410} temp1.getEndPositionOfChar(temp1);
// SVGPoint {x: 453, y: 410}


firstElementChild.getAttribute("x") & firstElementChild.getAttribute("y")


temp1.getBBox();
// SVGRect {x: 430, y: 386, width: 70.40625, height: 32} temp1.getCTM();
// SVGMatrix {a: 1, b: 0, c: 0, d: 1, e: -3, …}a: 1b: 0c: 0d: 1e: -3f: 0__proto__: SVGMatrix temp1.childElementCount;
// 1
t
emp1.firstElementChild
// <tspan x=​"430" y=​"410">​后区 C​</tspan>​ temp1.firstElementChild.x;
// SVGAnimatedLengthList {baseVal: SVGLengthList, animVal: SVGLengthList}baseVal: SVGLengthList {0: SVGLength, length: 1, numberOfItems: 1}animVal: SVGLengthList {0: SVGLength, length: 1, numberOfItems: 1}__proto__: SVGAnimatedLengthList temp1.firstElementChild.getBBox();
// SVGRect {x: 430, y: 386, width: 70.40625, height: 32} temp1.firstElementChild.getAttribute(`x`);
// "430" temp1.firstElementChild.getAttribute(`y`);
// "410"


http://tutorials.jenkov.com/svg/tspan-element.html

https://vanseodesign.com/web-design/svg-text-tspan-element/

https://stackoverflow.com/questions/20657512/svg-in-chrome-tspan-x-and-y-values-are-ignored


how to get svg text tspan x,y position value in js的更多相关文章

  1. svg text文字居中

    <text x="100" y="100" text-anchor="middle" dominant-baseline=" ...

  2. Sublime Text 3配置Minify压缩,格式化css,js,html,json,svg

    1.通过 Package Control 安装Minify 按 ctrl + shift + p   输入  Install Package 然后   输入Minify  按回车就可以安装啦 2.安装 ...

  3. SVG 文本

    该部分为四个主要部分: 1.  <text>和<tspan>标签详解 2.  文本水平垂直居中问题 3.  <textpath>让文本在指定路径上排列  4 ...

  4. SVG文本

    前面的话 本文将详细介绍SVG文本相关内容 位置属性 在一个SVG文档中,使用<text>元素来设置文本,<text>元素有x.y.dx.dy这四个位置属性 [x和y] 属性x ...

  5. svg文字与图像

    摘要: svg与canvas一样都可以将文本和图像放在画布中,制作出不一样的效果.下面是如何使用svg来渲染文本与图像. 简介: SVG的强大能力之一是它可以将文本控制到标准HTML页面不可能有的程度 ...

  6. SVG动画

    动画原理 SVG动画,就是元素的属性值关于时间的变化. 如下图来说,元素的某个属性值的起始值(from)到结束值(to)在一个时间段(duration)根据时间函数(timing-function)计 ...

  7. SVG的a链接

    SVG的a链接: <%@ page language="java" contentType="text/html; charset=UTF-8" page ...

  8. 深入浅出 SVG

    前言 据悉,8月18号将在广州举办中国第一届React开发者大会.今日早读文章由@Starrier翻译分享. 正文从这开始- SVG 是优秀且令人难以置信的强大图像格式.本教程通过简单地解释所有需要了 ...

  9. React生命周期及事件详解

    引用原文:http://blog.csdn.net/limm33/article/details/50942808 一.组件的详细说明和生命周期ComponentSpecs and Lifecycle ...

随机推荐

  1. Trie 前缀树或字典树 确定有限状态自动机

    https://zh.wikipedia.org/wiki/Trie 应用 trie树常用于搜索提示.如当输入一个网址,可以自动搜索出可能的选择.当没有完全匹配的搜索结果,可以返回前缀最相似的可能.[ ...

  2. $.extend、$.fn.extend

    $.extend 1.扩展jQuery静态方法. $.extend({ myFun:function(){alert('test函数')} min: function(a, b) { return a ...

  3. 后台获取日期值,前台Js对日期进行操作

    需求描述: 方法一: 方法二: 一些标签常用隐藏方法: 需求描述: 在初始化页面的时候,需要根据系统当前的时间对前台JSP页面的某项进行值的初始化,若前台JSP标签没有相关可以初始化的属性,那么可以从 ...

  4. 在阿里云服务器上(centos 8) 安装自己的MQTT服务器 (mosquitto)

    layout: post title: 在阿里云服务器上(centos 8) 安装自己的MQTT服务器 (mosquitto) subtitle: date: 2020-3-2 author: Dap ...

  5. Jenkins(2)docker容器中安装python3

    前言 使用docker安装jenkins环境,jenkins构建的workspace目录默认是在容器里面构建的,如果我们想执行python3的代码,需进容器内部安装python3的环境. 进jenki ...

  6. Eclipse无法查看Servlet源代码的解决方案

    在Apache官方网站中选择你对应的tomacat版本下载对应的Tomcat的源码 下载Source Code Distributions下的zip 将下载的zip文件复制到lib文件夹下 在提示页面 ...

  7. 2019 Multi-University Training Contest 1 A.Blank(dp)

    题意:现在要你构造一个只有{0,1,2,3} 长度为n且有m个限制条件的序列 问你方案数 思路:dp[i][j][k][now]分别表示四个数最后出现的位置 最后可以滚动数组 优化一下空间 ps:我的 ...

  8. [IOI1998] Polygon (区间dp,和石子合并很相似)

    题意: 给你一个多边形(可以看作n个顶点,n-1条边的图),每一条边上有一个符号(+号或者*号),这个多边形有n个顶点,每一个顶点有一个值 最初你可以把一条边删除掉,这个时候这就是一个n个顶点,n-2 ...

  9. B. Queue

    During the lunch break all n Berland State University students lined up in the food court. However, ...

  10. Git关联GitHub

    1.打开git命令行工具 2.设置全局用户名.邮箱 git config --global user.name "your_name" git config --global us ...