所以我在jQuery .each()调用中迭代返回元素的列表,我想要做的是返回一个字符串,其中包含所讨论元素的内容AND标记。例如:
<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>'
答案 0 :(得分:1)
var tag = this.outerHTML || $('<div>').append($(this).clone()).html();
如果它可用,则使用浏览器的outerHTML
属性,否则它会创建一个新的<div>
,复制该元素,将其置于其中,然后获取.html()
<div>
。
答案 1 :(得分:0)
你想要父节点的html。
$('.bar').each( function() { alert( $(this).parent().html(); ) } );
虽然这也会让你获得所有兄弟节点。您可以使用
获取实际的DOM节点 $(this).get(0).outerHTML
然后
答案 2 :(得分:0)
在此处找到此答案:How do you convert a jQuery object into a string?
function stringElement(jqElement){
return $('<div>').append(jqElement.clone()).remove().html();
}