Я хотел бы глубоко скопировать таблицу TBODY одним нажатием кнопки и сделать так, чтобы она отображалась под другой таблицей на веб-странице.Я не могу выполнить мелкое копирование, поскольку внутри ячеек есть кнопки с несколькими функциями, которые я хотел бы использовать в скопированном теле, и чтобы они применялись только к скопированным элементам.Я загрузил и сослался на lodash в своем HTML-файле, так как слышал, что с ним гораздо проще копировать.Проблема здесь в том, что я не знаю, как применить его как функцию onclick.
Мой код беспорядок, так как в игре так много разных функций, поэтому я не буду загружать его здесь.Я думаю, что я подготовлю сокращенную версию.
<table id="my-table">
<tbody id="my-tbody">
<tr>
<td>Example text</td>
<td><input type="text" id="input-text" onkeydown="keyDown()"></td>
<td>Example text</td>
<td><button id="check-btn" type="button"
onclick="checkInput()">check</button></td>
</tr>
</tbody>
</table>
Как видите, кнопки внутри tds, а также поле ввода имеют свои индивидуальные функции.Теперь я хотел бы глубоко скопировать весь текст одним нажатием кнопки и сделать так, чтобы он отображался здесь:
<table id="my-table2>
<tr>
</tr>
</table>
Я использовал это для мелкого копирования текста:
<button type="button" onclick="duplicate()">example-btn</button>
function duplicate() {
var itm = document.getElementById("my-tbody");
var cln = itm.cloneNode(true);
document.getElementById("my-table2").appendChild(cln);
}
..... и работает нормально, проблема в том, что клонированные кнопки влияют на исходные ячейки.
Как я уже сказал, я скачал lodash
и хотел бы использовать функцию _.cloneDeep()
, но я понятия не имеюкак это сделать.Некоторые вопросы:
1) Возможно ли глубокое клонирование, используя только чистый JS?2) Могу ли я использовать _.cloneDeep()
при нажатии кнопки?Если да, как я могу этого достичь?
Спасибо за ваше время и ответы.Это действительно важно для моего проекта!:)