在jquery中返回元素的标记和内容

时间:2010-11-19 22:49:15

标签: jquery

所以我在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>'

3 个答案:

答案 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();
}