检查jQuery对象中返回的DOM元素

我有:

Paragraph One

Paragraph Two

google.load("jquery", "1"); var x = $('p'); x.each(function(index) { $('body').append($(this).html().replace('<','<') + '
'); });

我期待看到:

 <p>Paragraph One</p>
<p>Paragraph Two</p>

但相反,p标签本身就丢失了。

我正在尝试使我的输出看起来像console.log,它将x标识为两(2)个段落元素。

它在段落中获取html,但是console.log将其显示为段落。 所以我想我需要上升一个级别然后再次下降?

这是因为$(this).html()只会给你

元素的内容,而不是元素本身。

做这个:

 var x = $('p'); x.each(function(index) { var p_html = this.outerHTML || $('
').append($(this).clone()).html(); $('body').append(p_html.replace('<','<') + '
'); });

这将获取每个

元素,并获取其.outerHTML属性(类似于innerHTML但也包含所有者的标记)。

如果不支持.outerHTML属性(我正在看你的Firefox!)那么它使用clone() [docs]方法来复制

,将其添加到新的

并获取

.html()