我有一段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/