我有一段js代码,它接受一个元素的html代码,以便将其发送到服务器端进行保存。 html本身是动态生成的,其中的元素都有一个数据目标属性,也是动态设置的。因此,在发送要保存的html字符串之前,使用jquery的.html(),如:
var SaveString = $('#ElementID').html();
我得到的html,不包含每个子元素的data-target属性的值,而是显示为空白
data-target=""
任何人都可以知道那里发生了什么?
答案 0 :(得分:3)
这是因为当您使用data()
方法存储元素信息时,它存储在jQuery在内部用作缓存的对象中。该信息未添加到DOM中。
如果要将data-*
属性添加到DOM,则需要使用attr()
进行设置,例如:
$element.attr('data-target', 'foo');
当您检索父元素的html()
时,它将可以访问。