我正在创建类似于https://moqups.com/的程序,我无法弄清楚如何获取SVG标签内所有元素的坐标。如何获取HTML5 SVG元素中所有元素的位置
0
A
回答
1
var children = $('svg').children();
for(var i in children) {
childLoop(children[i]); // Start with children because I don't think svg has
// A getBBox() method (only groups, rects, text..etc)
}
function childLoop(obj) {
alert($(obj).getBBox()); // Display the objects bounding box
// Bounding boxes have .x, .y,
// .width, and .height properties
for(var a in $(obj)[0].attributes) {
alert(a + '=' + $(obj)[0].attributes[a]);
}
for(var i in $(obj).children()) {
childLoop($(obj).children()[i]); // Do it for the rest of the children
}
}
基本上你需要选择SVG对象中的元素,并调用.getBBox()
方法就可以了。
这将返回一个对象具有以下结构(在位置(0所使用的对象,0)与100×100的尺寸例如):
.getBBox() : {
x: 0
y: 0
width: 100
height: 100
}
+0
某些元素可能具有与之相伴的文本和/或颜色,我将如何检索这些属性? – 2012-07-28 04:15:48
+0
看看我的编辑。我认为这可能有效......如果你知道所有的属性,你可以使用'$(obj).attr('fill')'例如 – 2012-07-28 13:09:11
相关问题
- 1. 如何获取元素的位置
- 2. 定位SVG元素
- 3. 获取元素位置scrollTop
- 4. 获取元素的位置/位置
- 5. 如何获取元素位置 - Imacros
- 6. 如何获取元素的所有CSS
- 7. html5 canvas元素和svg
- 8. ArrayList获取所有元素
- 9. 获取所有iframe元素
- 10. 获取父元素中元素的位置(索引)
- 11. 获取元素在Javascript中的位置
- 12. 获取数组元素中的位置
- 13. 获取HTML5 canvas元素
- 14. 拖SVG元素到新的位置
- 15. 锁元素的SVG元素
- 16. JS当元素的位置绝对位置时,获取基于元素的元素的位置
- 17. 获取iFrame中的所有元素
- 18. 数据结构获取某个位置的所有元素
- 19. 获取元素相对于第n个父元素的位置
- 20. 获取元素相对于其父元素的相对位置
- 21. 基于位置获取基于Javascript元素的元素节点
- 22. 如何获取具有XPATH中最大子元素的元素?
- 23. 如何获取所有给定DataFrame(Pandas)中某个元素的位置?
- 24. jQuery - 如何获取具有类的元素的位置
- 25. Javascript - 获取数组元素的位置
- 26. 获取变换后的元素位置
- 27. 获取拖放元素的位置
- 28. JavaScript获取期权元素的位置?
- 29. Angular 2:获取HTML元素的位置
- 30. jQuery获取元素的更新位置
需要在[接受答案]的习惯来获得( http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)帮助你解决你的问题。您将获得积分,其他人将被鼓励帮助您。 – 2017-07-12 12:52:19