gpt4 book ai didi

javascript - 将对象绑定(bind)到元素的正确位置

转载 作者:行者123 更新时间:2023-12-01 00:42:57 26 4
gpt4 key购买 nike

Data Attributes是将字符串存储到 DOM 元素上的安全位置,因为可以保证您的属性命名永远不会与将来添加到 DOM 规范中的属性发生冲突。

但是,如果您想将非 JSON javascript 对象作为属性绑定(bind)到 DOM 元素怎么办?

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Bind Custom Object to DOM Element</title>
<style>
div{ border: solid #333333 1vmin; padding:1vmin;
display:inline-block; font-size:4vmin}
</style>
<script type="text/javascript">
function main()
{
let obj = {}
obj.name = "Lonnie";

let div = document.createElement("div");
div.textContent = "Click Me";
div.myCustomObject = obj;
div.addEventListener('click',function()
{
alert(this.myCustomObject.name);
});
document.body.appendChild(div);
}
window.addEventListener('load', main);
</script>
</head>
<body>
</body>
</html>

数据属性旨在保存字符串,而不是对象。是否可以将它们用于非 JSON 对象属性,或者规范是否建议使用不同的位置将对象属性添加到 DOM 节点?

最佳答案

Data attributes are designed to hold strings, not objects.

但是您没有使用属性。因此,您可以将您想要的所有内容存储在常规属性下。

Is it ok to use them for nonJSON object-properties,

当然。

or does the specification recommend a different location for adding object-properties to DOM nodes?

不,事实并非如此。 DOM 规范是语言中立的,因此它并没有真正描述 JS 中实现该规范的对象的行为方式。

关于javascript - 将对象绑定(bind)到元素的正确位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57588305/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com