Это может быть сумасшедшим, но это меня заинтриговало довольно давно:)
Я хотел бы знать, как переменная javascript может связывать себя, например, после добавления DOM в тело?
var p = document.createElement('p');
p.innerHTML = 'Hello World';
document.body.appendChild(p);
Итак, теперь у меня есть эта p
переменная, которая содержит точную ссылку на этот конкретный абзац, независимо от того, где он находится внутри тела.
p.innerHTML = 'new content';
легко найдет абзац и изменит его значение
Так что мой вопрос ... как это связывание сделано?
что если я захочу воссоздать это после того, как переменная исчезнет?
Есть ли способ присоединить это снова без необходимости проходить через DOM и найти его?
Я думал о том, есть ли у каждого узла в DOM свой специфический идентификатор, который не является атрибутом id
, а является неким UUID, на который можно ссылаться позже?
как:
console.log(p.localName); //aoi12e2kj2322444r4t
p = null;
чтобы я мог восстановить тот узел абзаца, который думал, что это uuid?
В этой среде у меня не будет доступа ни к какому внешнему атрибуту узла, например name
, id
, data
и т. Д.
Так что мне любопытно узнать, как создается эта привязка между переменной и узлом DOM?