【发布时间】:2020-01-06 16:06:51
【问题描述】:
<svg>
<g id="g1" transform="translate(100 80)"/>
</svg>
<script>
var tr_value = document.getElementById("g1").getAttribute("transform");
alert(tr_value); // result: translate(100 80) need: 100
</script>
各位专家,告诉我如何获取属性参数的值,以防属性具有多个参数,而它们又具有多个值。在上面的示例中,我想将 100 的值放入变量中。 我真的希望在 Javascript 中有一个漂亮的方法。然后首先想到的是解析文本或正则表达式。
【问题讨论】:
-
JavaScript 并不直接了解 SVG;属性值只是文本。您必须自己解析它,可能使用正则表达式。
-
我一遍又一遍地看到人们调用函数然后不检查返回。当一个函数返回一些东西时,它可能会成功,也可能不会。像许多其他人一样,您没有在使用前检查退货。在调用 getAttribute 之前检查 getElementById 的返回,然后在使用前检查 getAttribute 的返回。