23

プロパティを持つ svg 要素の outerHTML を取得できないのはなぜelement.outerHTMLですか?

この方法は、svg ソース コードを取得するのに最適なhttp://jsfiddle.net/33g8g/ですか?

4

5 に答える 5

23

SVGElements には、outerHTML プロパティがありません。

純粋なJavascriptでこのように定義できます

Object.defineProperty(SVGElement.prototype, 'outerHTML', {
    get: function () {
        var $node, $temp;
        $temp = document.createElement('div');
        $node = this.cloneNode(true);
        $temp.appendChild($node);
        return $temp.innerHTML;
    },
    enumerable: false,
    configurable: true
});

または、1行のjQueryソリューションは次のようになります

$('<div>').append($(svgElement).clone()).html();

参考: https ://gist.github.com/jarek-foksa/2648095

于 2013-12-13T05:39:49.780 に答える
7

2013 更新:およびはinnerHTMLDOM 解析仕様outerHTMLに従って、svg 要素でもサポートされる予定です。

このパッチは Blink/Chrome に配置されており、まもなく利用可能になります。 http://code.google.com/p/chromium/issues/detail?id=311080を参照してください。

于 2013-12-13T13:13:09.753 に答える