我有一个看起来像这样的div:
<div id="exampleDiv" class="class1 class2" title="example title"></div>
我使用此语句选择了JQuery:
var $div = $('#exampleDiv');
我想得到的是一个标签本身的字符串作为html,所以我实际得到:
"<div id='exampleDiv' class='class1'....", etc.
在给定选择器的情况下,是否有人知道我可以使用的JQuery函数?我在想$div.htmlHeader()
之类的东西。
任何帮助将不胜感激。感谢。
答案 0 :(得分:6)
将元素克隆到新div中,删除克隆的子节点,然后打印父div的html:
var html = $("<div/>").append($("#exampleDiv").clone().empty()).html();
如果要打印的元素有很多后代,并且您不想承担克隆整个层次结构的成本,并且如果您不介意简单地保留jQuery DOM接口的安全性,那么您可以做相反:
var html = $("<div/>").append($("#exampleDiv")[0].cloneNode(false)).html();
答案 1 :(得分:0)
你走了:
$.fn.tagonly = function() {
return $('<div/>').append($(this).clone().empty())
.html().replace(/>(.|[\r\n])*$/ig, '>');
};
修改修复了额外的)
和换行问题。谢谢帕特里克。