假设我有一个SVG元素:
<svg id="myMap" viewBox="0 0 200 200"></svg>
我如何获得特定值 myMap的viewBox?有关简化示例:如何获取myMap的viewBox属性的“x”值? (对于上面的例子,x值是第一个零(0))。
以下是我尝试过的语法的一些变体:
<script>
var myMap = Snap("#myMap");
alert(myMap.attr("viewBox"));//dislays [object Object]
alert(myMap.attr("viewBox.vbx"));//also dislays [object Object]
alert(myMap.attr("viewBox.x"));//also dislays [object Object]
</script>
以上所有示例都在警告框中显示[object Object] 我需要视口的x,y,宽度和高度的正确浮点值来实现地图中的放大和缩小功能。
答案 0 :(得分:4)
你总是可以直接从DOM中读出它
private static StringBuilder collect(JavaRDD<String> javaRDD) {
StringBuilder builder = new StringBuilder();
javaRDD.foreach(x -> builder.append(x));
System.out.println(builder.toString() + " ****");
return builder;
}
&#13;
alert(document.getElementById("myMap").viewBox.baseVal.width);
&#13;
答案 1 :(得分:1)
attr()
方法返回一个对象而不是标量,而alert()
需要一个标量。如果您使用console.log()
而不是alert()
,则可以在JavaScript控制台中看到对象的内容。
获取svg
使用
var myMap = Snap("#myMap");
var attrs = myMap.attr("viewBox");
console.log(attr.x);
console.log(attr.y);
console.log(attr.width);
console.log(attr.height);
答案 2 :(得分:0)
谢谢@Robert Longson
alert(document.getElementById("myMap").viewBox.baseVal.width);
<svg id="myMap" viewBox="0 0 200 200"></svg>
alert(document.getElementById("myMap").viewBox.baseVal.width);
<svg id="myMap" viewBox="0 0 200 200"></svg>