如何获取包含数据属性的innerHTML

时间:2016-08-29 10:22:54

标签: javascript jquery html html5 web

我使用document.body.innerHTML获取HTML的文本版本,以便我可以存储它并稍后使用jQuery' s append重新加载它。它工作正常,但它不能保存我在HTML节点中存储的data-*属性。有没有一种方法可以让我获得包含这些数据属性的所有innerHTML的字符串?

2 个答案:

答案 0 :(得分:2)

假设您使用的是jQuery .data()

jQuery的.data()方法将数据存储在Javascript中而不是HTML属性中。仅将现有data-*属性拉入该对象。有关详细信息check the docs

要将数据保存为HTML数据属性,请使用.attr()。如下所示:

$('.el').attr('data-foo', 'bar');

答案 1 :(得分:0)

您可以使用.clone()使用jQuery克隆html

示例html:

<div class="divSource" data-test="Hello" data-test2="World">
  <input type="text" />
</div>

<input type="button" id="btnClone" value="Clone Div" />

<div id="divDesti">   
</div>

的jQuery

$(document).ready(function() {

  $("#btnClone").click(function() {
    var colnedSource = $(".divSource:first").clone();

    $("#divDesti").append(colnedSource);
  });
});

3个克隆后的输出:

enter image description here