Javascript 变量如何将其值绑定到DOM?

Javascript 变量如何将其值绑定到DOM?,javascript,html,dom,bind,Javascript,Html,Dom,Bind,这可能很疯狂,但它让我好奇了好长一段时间:) 例如,我想知道javascript变量在附加到主体后如何绑定到DOM var p = document.createElement('p'); p.innerHTML = 'Hello World'; document.body.appendChild(p); 所以现在我有了这个p变量,它包含了对特定段落的精确引用,无论它位于正文中的什么位置 p.innerHTML = 'new content'; 将很容易找到段落并更改其值 所以我的问题是…

这可能很疯狂,但它让我好奇了好长一段时间:)

例如,我想知道javascript变量在附加到主体后如何绑定到DOM

var p = document.createElement('p');
p.innerHTML = 'Hello World';

document.body.appendChild(p);
所以现在我有了这个
p
变量,它包含了对特定段落的精确引用,无论它位于正文中的什么位置

p.innerHTML = 'new content';
将很容易找到段落并更改其值

所以我的问题是…这个装订是怎么做的

如果我想在变量消失后重新创建它呢? 是否有任何方法可以在不必运行DOM并找到它的情况下再次附加它

我在想,DOM中的每个节点是否都有其特定的标识符,即不是
id
属性,而是某种可以稍后引用的UUID

比如:

所以我仍然可以恢复这个uuid

在这种环境中,我无法访问任何外部节点属性,例如
名称
id
数据
,等等


所以我很想知道这个绑定是如何在变量和DOM节点之间创建的?

这个绑定是在第一行创建的,您可以将
document.createElement的结果分配给
p
。这与为变量赋值时没有什么不同,它总是将变量名绑定到值。就脚本而言,没有其他绑定发生。
p
是一个HTMLElement,这是所有公开的元素

注意,对于
p.innerHTML='newcontent',不必找到该元素,因为
p
已引用该元素。DOM就是这样做的:它公开文档和文档元素

如果以后需要对同一元素的另一个引用,则必须使用DOM方法(例如
getElementById
)来查找它。这就是他们在那里的目的


至于DOM如何公开元素,它是在内部实现的,并且随着浏览器或库的不同而不同(因为DOM不仅仅在浏览器中使用)。

我相信它会根据您使用的浏览器而变化。没有标准的方法可以做到这一点。目前,您可以使用id或在dom上迭代,直到找到所需的元素。

谢谢@outis,我唯一关心的是使用
id
打破/覆盖引用元素的css规则,因为我会在使用元素时为元素创建UUID。然后我可以通过只分配这个uuid来检索它们……我更喜欢
id
,因为它是最快找到的,对吗?我也考虑过数据集,但我认为通过数据集查找元素会带来比id链接慢得多的过程…而且每个元素只能有一个
id
,这是正确的…:/我仍然在想什么是最好的选择,非常感谢您的输入
console.log(p.localName); //aoi12e2kj2322444r4t
p = null;