2010-11-19 54 views
0

所以我在jQuery .each()调用中遍历返回元素的列表,我想要做的是返回一个字符串,其中包含有问题的元素。例如:返回jQuery中元素的标签和内容

<div class="foo"> 
    <div class="bar">Blah blah</div> 
    <div class="bar">Blah blah</div> 
</div> 

If I ran a $('.bar').each(function()) I want it to return 
'<div class="bar">Blah blah</div>' 

回答

1
var tag = this.outerHTML || $('<div>').append($(this).clone()).html(); 

此使用浏览器的outerHTML财产,如果它是可用的,否则它会创建一个新的<div>,使该元素的副本,里面放置它,并获得是对<div>.html()

+0

非常感谢,我是通过jQuery的文档游弋寻找outerHTML,没”不知道它是原生的JS。 – Conor 2010-11-19 22:56:47

+0

@Conor - 不客气。 :O) – user113716 2010-11-19 22:58:51

0

你想要父节点的html。

$('.bar').each(function() { alert($(this).parent().html();) }); 

虽然这将让你所有的兄弟节点以及。你可以得到得到实际的DOM节点与

$(this).get(0).outerHTML 

然后