javascript - jquery .html()函数没有给出数据属性设置值

标签 javascript jquery html

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

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

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

data-target=""

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

最佳答案

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

如果要向 DOM 添加 data-* 属性,则需要使用 attr() 来设置它,例如:

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

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

Example fiddle

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

相关文章:

javascript - 函数在 onclick 事件上不起作用?

javascript - 使用 casperjs 更改/写入元素并在更改后捕获屏幕截图

html - :first-child is not working to select the first h4 element

html - 背景视频未在移动设备和台式机上的 Safari 浏览器中播放

javascript - jquery 日期选择器,但日期月份和年份在单独的下拉列表中

javascript - 由于 iOS 12.4 iframe 无法更改顶部 url

javascript - 无法从服务器上的 PHP 文件获取 JSON 数据

javascript - 跨度 addClass 不工作 ajax

javascript - 平滑移动到下一个 div 元素

javascript - 获取$this的选择器