返回jQuery中元素的标签和内容
问题描述:
所以我在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>'
答
var tag = this.outerHTML || $('<div>').append($(this).clone()).html();
此使用浏览器的outerHTML
财产,如果它是可用的,否则它会创建一个新的<div>
,使该元素的副本,里面放置它,并获得是对<div>
的.html()
。
答
你想要父节点的html。
$('.bar').each(function() { alert($(this).parent().html();) });
虽然这将让你所有的兄弟节点以及。你可以得到得到实际的DOM节点与
$(this).get(0).outerHTML
然后
答
找到这个答案在这里:How do you convert a jQuery object into a string?
function stringElement(jqElement){
return $('<div>').append(jqElement.clone()).remove().html();
}
非常感谢,我是通过jQuery的文档游弋寻找outerHTML,没”不知道它是原生的JS。 – Conor 2010-11-19 22:56:47
@Conor - 不客气。 :O) – user113716 2010-11-19 22:58:51