我有一个看起来像这样的 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()
或类似的东西。
如有任何帮助,我们将不胜感激。谢谢。
最佳答案
将元素克隆到新的 div 中,删除克隆的子元素,并打印父 div 的 html:
var html = $("<div/>").append($("#exampleDiv").clone().empty()).html();
如果你想要打印的元素有很多后代,并且你不想承担克隆整个层次结构的成本,并且如果你不介意暂时离开 jQuery DOM 接口(interface)的安全性,你可以这样做这个代替:
var html = $("<div/>").append($("#exampleDiv")[0].cloneNode(false)).html();
关于JQuery:如何在一条语句中以字符串形式获取选择器的所有 html 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2313670/