javascript:从属性参数中提取值 var tr_value=document.getElementById(“g1”).getAttribute(“转换”); 警报(tr_值);//结果:翻译(10080)需要:100

javascript:从属性参数中提取值 var tr_value=document.getElementById(“g1”).getAttribute(“转换”); 警报(tr_值);//结果:翻译(10080)需要:100,javascript,getattribute,Javascript,Getattribute,各位专家,请告诉我,如果属性有多个参数,而这些参数又有多个值,那么如何获取属性参数的值。在上面的示例中,我希望将值100放入一个变量中。 我真的希望在Javascript中有一个漂亮的方法来实现这一点。然后想到的第一件事就是解析文本或正则表达式。要做到这一点,您必须编写正则表达式或字符串解析器 e、 g.*\(\d*)\d*\) 让tr_value=document.getElementById(“g1”).getAttribute(“转换”) 设正则表达式=/.\(\d*)\d*\)/g 让

各位专家,请告诉我,如果属性有多个参数,而这些参数又有多个值,那么如何获取属性参数的值。在上面的示例中,我希望将值100放入一个变量中。
我真的希望在Javascript中有一个漂亮的方法来实现这一点。然后想到的第一件事就是解析文本或正则表达式。

要做到这一点,您必须编写正则表达式或字符串解析器

e、 g.
*\(\d*)\d*\)

让tr_value=document.getElementById(“g1”).getAttribute(“转换”)
设正则表达式=/.\(\d*)\d*\)/g
让matches=regex.exec(tr_值)
console.log(匹配[1])/“100”


JavaScript并不直接了解SVG;属性值只是文本。你必须自己解析它,可能是用正则表达式。我一次又一次地看到人们调用函数,然后不检查返回。当函数返回某个内容时,它可能会成功,也可能不会成功。像许多其他人一样,您在使用前不检查退货。在调用getAttribute之前检查getElementById的返回,然后在使用之前也检查getAttribute的返回。非常感谢您的回答。非常快速和信息量大。我甚至会说得太快,信息量太大
<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>