jQuery:选择外部标记

时间:2014-06-25 08:40:46

标签: javascript jquery html

给出以下xml:

<svg height="10" width=20">
  <g>
    ...
  </g>
  ...
</svg>

我怎样才能获得外部元素?它只是没有innerHTML的outerHTML。

3 个答案:

答案 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