给出以下xml:
<svg height="10" width=20">
<g>
...
</g>
...
</svg>
我怎样才能获得外部元素?它只是没有innerHTML的outerHTML。
答案 0 :(得分:1)
只有没有innerHTML的outerHTML。
将.clone()
与.html()
一起使用,如下所示:
var cloned = $('svg').clone().html('');
答案 1 :(得分:0)
您可以使用outerHTML
元素DOM接口的outerHTML属性获取描述元素及其后代的序列化HTML片段。
document.getElementsByTagName('svg')[0].outerHTML;
答案 2 :(得分:0)
无需为其生成功能。就这样做:
例如:
$('A').each(function(){
var s = $(this).clone().wrap('<p>').parent().html();
console.log(s);
});
(顺便说一句,您的浏览器控制台将显示记录的内容。自2009年左右以来,大多数最新的浏览器都具有此功能。在Firefox上,您必须安装Firebug。) 最终的神奇之处在于:
.clone().wrap('<p>').parent().html();
clone
意味着你实际上并没有打扰DOM。没有它就运行它,你会看到在所有超链接之前/之后插入P
标签(在这个例子中),这是不可取的。所以,是的,使用.clone()。
它的工作方式是它需要每个A标记,在RAM中克隆它,用P标记包装,获取它的父项(意味着P标记),然后获取它的innerHTML属性。 / p>
通过Volomike