Если вы хотите добавить что-то ко всем идентификаторам клонированных элементов, вы можете сделать что-то вроде этого:
document.querySelector('#button').addEventListener('click', () => {
const clone = document.querySelector('#parent').cloneNode(true);
const elementsThatHaveId = [...clone.querySelectorAll('[id]')];
if (clone.matches('[id]')) {
elementsThatHaveId.push(clone);
}
elementsThatHaveId.forEach((e) => {
e.id += 'Copy';
});
document.body.append(clone);
});
<div id="parent" style="border:1px solid black;background-color:pink">
<div id="child1" style="color:red;">A r element</div>
<div id="child2" style="color:green;">A g element</div>
<div id="child3" style="color:blue;">A b element</div>
</div>
<button id="button">Try it</button>
Для этого нужно выбрать все элементы клонированного узла, имеющие атрибут id
(clone.querySelectorAll('[id]')
), добавить сам узел в результат массив, если он также имеет атрибут id
и затем go через список, чтобы изменить идентификаторы всех этих элементов