我在做应用程序,它使用SVG在Web上绘制一些组件。但是当应用程序正在寻找绘制的SVG图像时,它会找到左边和顶部的值,但它的高度和宽度是0.为什么?
代码:
pointA = $('.connectionPoint[data-selector="' + selector + '"]');
aOffset = pointA.offset();
x1 = aOffset.left;
y1 = aOffset.top;
console.log("After scroll top: x1=" + x1 + ", y1=" + y1 + ", w=" + pointA.outerWidth() + ",h=" + pointA.outerHeight());
答案 0 :(得分:0)
可能是因为<svg>
元素的width
和height
属性与HTML不同。它们在DOM中的定义方式不同,jQuery仅用于处理HTML元素。
您需要编写自己的方法来阅读SVG的宽度和高度(例如mysvg.width.baseVal.value
或mysvg.getAttribute("width")
),或将<svg>
包裹在{ {1}}所以jQuery可以读取它的宽度和高度。