@galyamov_marat

Как сделать клон элемента?

Есть элемент:

<div id="summ">1000</div>

Нужно сделать его копию, поместив в класс .new-clone. При этом, если исходный элемент #summ изменит свое содержимое (допустим с 1000 на 2000), то в созданном клоне также должно измениться это содержимое.
  • Вопрос задан
  • 87 просмотров
Пригласить эксперта
Ответы на вопрос 2
vmakhnyuk
@vmakhnyuk
Frontend developer
Знаю, что криво, но суть вы уловили.
const summ = {
  element: document.getElementById("summ"),
  clones: [],
  getValue() {
    return this.element.textContent;
  },
  renderClones(selector) {
    if (this.clones.length > 0) {
      this.clones.forEach((clone) => {
        selector.append(clone);
      });
    }
  },
  createClone() {
    const clone = document.createElement("div");
    clone.classList.add(".new-clone");
    clone.textContent = this.getValue();
    this.clones.push(clone);
    this.renderClones(document.body);
  },
  update(value) {
    this.element.textContent = value;
    if (this.clones.length > 0) {
      this.clones.forEach((clone) => {
        clone.textContent = value;
      });
    }
  }
};

summ.createClone();
summ.createClone();

summ.element.addEventListener("click", () => {
  summ.update(3000);
});
Ответ написан
Комментировать
@Jeracsus
const elementForCoppy = document.querySelector('#summ')
const clone = document.createElement('DIV')
clone.innerHTML = elementForCoppy.innerHTML

body.appendChild(clone)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы