我有一段js代码,它接受一个元素的html代码,以便将其发送到服务器端保存。html本身是动态生成的,其中的元素都有一个data target属性,该属性也是动态设置的。所以在发送要保存的html字符串之前,jquery的.html()使用如下:

var SaveString = $('#ElementID').html();

我得到的html不包括每个子元素的data target属性的值,而是显示为空
data-target=""

有人知道那里发生了什么吗?

最佳答案

这是因为当使用data()方法存储元素信息时,它存储在jQuery内部用作缓存的对象中。信息不会添加到DOM中。
如果要将data-*属性添加到DOM,则需要使用attr()来设置它,例如:

$element.attr('data-target', 'foo');

当您检索父元素的html()时,就可以访问它。
Example fiddle

关于javascript - jQuery .html()函数未提供数据属性设置值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29493548/

10-12 00:06
查看更多