1

我认为这真的很容易......我想要的是相当于innerHTML, 但对于 SVG。(jQuery 窒息$("svg").html()。)

4

3 回答 3

1

我似乎记得 SVG 文件只不过是 XML。如果是这样的话,这样的事情可能会奏效:

$.ajax({
    type: "GET",
    url: "your/svg/file.svg",
    dataType: "xml",
    success: function(svg) {
        var mySvgText = $(this).find("svg").text();
        // do something with svg text
    }
});​

这是在黑暗中拍摄的,所以如果我错了,请有人纠正我。

于 2012-05-10T00:03:55.240 回答
1

您可以使用innerSVG shim 来获得此功能,它是使用 XMLSerializer 和 DOMParser 实现的。在所有当前支持 svg 的浏览器中都能正常工作。

于 2012-05-11T12:57:06.713 回答
1

我最终使用的解决方案:

var svg = $("svg:first").clone();
svg = $('<div />').append(svg);
svg = svg.html();
于 2012-05-31T20:09:00.790 回答