プロパティを持つ svg 要素の outerHTML を取得できないのはなぜelement.outerHTML
ですか?
この方法は、svg ソース コードを取得するのに最適なhttp://jsfiddle.net/33g8g/ですか?
プロパティを持つ svg 要素の outerHTML を取得できないのはなぜelement.outerHTML
ですか?
この方法は、svg ソース コードを取得するのに最適なhttp://jsfiddle.net/33g8g/ですか?
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();
2013 更新:およびはinnerHTML
、DOM 解析仕様outerHTML
に従って、svg 要素でもサポートされる予定です。
このパッチは Blink/Chrome に配置されており、まもなく利用可能になります。 http://code.google.com/p/chromium/issues/detail?id=311080を参照してください。