jquery .html()函数不给出数据属性设置值

时间:2015-04-07 14:05:47

标签: javascript jquery html

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

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

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

data-target=""

任何人都可以知道那里发生了什么?

1 个答案:

答案 0 :(得分:3)

这是因为当您使用data()方法存储元素信息时,它存储在jQuery在内部用作缓存的对象中。该信息未添加到DOM中。

如果要将data-*属性添加到DOM,则需要使用attr()进行设置,例如:

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

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

Example fiddle