Сохранение ссылки на клон HTML-шаблона в Javascript перед добавлением в DOM

Я хотел бы сохранить ссылку на фрагмент документа, чтобы иметь к нему доступ позже. Тот же доступ, что и для document.getElementbyId().

var test;

let template= = document.getElementById("templateId");
let clone = template.content.cloneNode(true);

test=clone;
document.getElementById(destinationId).appendChild(clone);

Если я отлаживаю тест, у него есть все ссылки и информация в виде переменной клонирования. Но после добавления клона большая часть информации теряется.

Тестовая переменная должна иметь ссылка для того же фрагмента документа (который остается в клоне), который будет в документе. Я не хочу делать копию элемента, потому что я хочу получить к нему доступ позже с помощью переменной test, чтобы изменить, например, значение метки.

измените свою четвертую строку на template.cloneNode(true); это должно решить эту проблему.

Mario Kurzweil 21.02.2019 10:46

Если я изменю код по вашему предложению, я получу ссылку на объект шаблона в DOM. Но мне нужна ссылка на фрагмент документа, который будет добавлен в DOM как копия шаблона.

J. Doe 21.02.2019 11:07
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
71
1

Ответы 1

Используйте этот пример

$("header.site-header").before($("header.site-header").clone();

Спасибо за ваш ответ. Сначала вы пропустили столбец в конце. Я не совсем понимаю ваш ответ. Какую часть вы имеете в виду под «header.site-header»?

J. Doe 21.02.2019 11:42

«header.site-header» означает, что вы клонируете любую часть. Добавьте класс ИЛИ замените идентификатор на «header.site-header», который вы хотите клонировать.

Manthan Kanpariya 21.02.2019 11:58

Первый «header.site-header» — копия заголовка, а второй «header.site-header» — это местоположение (куда вы помещаете часть клона). Определите.

Manthan Kanpariya 21.02.2019 11:59

Я попробовал это со следующим кодом: var a= $("#templateId").before($("#destinationId").clone()); он хранит элемент <template>, но не клонированный элемент

J. Doe 21.02.2019 12:04

Почему хранятся в переменной?

Manthan Kanpariya 21.02.2019 12:07

Вы можете обратиться по этой ссылке, чтобы получить больше идей в этом. w3schools.com/jquery/html_clone.asp

Manthan Kanpariya 21.02.2019 12:10

Я хочу получить доступ к узлу, который я вставляю в свой HTML, через эту переменную. Аналогично getElementbyId, но без использования идентификатора.

J. Doe 21.02.2019 12:11

Другой синтаксис в Jquery.

Manthan Kanpariya 21.02.2019 12:14

Другие вопросы по теме