Ваш инкрементный ключ не нужно присваивать идентификатору клонированного элемента, это может быть любой произвольный атрибут (я заметил, что это делает jQuery, хотя я не уверен, что это вызывает).Тем не менее, я не уверен, что было бы лучшим способом затем снова найти клонированный элемент, если не считать итерацию каждого элемента (или использование библиотеки, такой как jQuery, что в данном случае может показаться плохим).
Другой вариант - сохранить клонированный элемент в оригинале при создании клона.Поскольку DOM-узлы - это просто объекты Javascript, вы можете добавить любое свойство, которое вам нравится.Таким образом, вы могли бы сделать:
var clone = node.cloneNode(true);
node.clonedNode = clone;
// Add clone to iframe document
(не уверен, что cloneNode
будет работать для всего документа, также похоже, что вам может понадобиться importNode
вместо того, чтобы добавить егов другой документ)
Затем в обработчике событий:
var clone = event.target.clonedNode;
Было бы интересно узнать, работает ли это надежно во всех браузерах!
Также взгляните на этот ответ на аналогичный вопрос, где решением будет использование словаря с исходным элементом в качестве ключа и клонированного элемента в качестве значения.