检查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()
。