我有一些javascript,我加载在我的头脑中。我想引用一些数据属性。
<meta id="pendo_data" data-user-id="<%= current_user&.id %>"
data-user-email="<%= current_user&.email %>"
data-account-id="<%= current_account&.id %>"
data-account-name="<%= current_account&.name %>"
/>
然后在javascript我可以做:
$(#'pendo_data').data('user-id')
<meta>
似乎是错误的标签。在<div>
不允许使用<head>
s。
这里的最佳做法是什么?
谢谢!
如果你需要它们,你可以将它们放在<html>
元素上。这样他们就可以立即为你的脚本服务,而且你不需要使用超出预期用途的元素。
<html>
元素可通过document.documentElement
访问。
<!doctype html>
<html data-user-id="<%= current_user&.id %>"
data-user-email="<%= current_user&.email %>"
data-account-id="<%= current_account&.id %>"
data-account-name="<%= current_account&.name %>" >
<head>
<script>
for (const p in document.documentElement.dataset) {
console.log(`${p} = ${document.documentElement.dataset[p]}`)
}
</script>
</head>
<body></body>
</html>