РОНИ, ваш гениальный мозг - гордость человечества!
Я уже уснул, а вы тут такое произведение наваяли! Спасибо
Остаются комменты и "лишние" атрибуты, но это даже лучше.
Попробую разобрать и вникнуть в логику вашего чудо-кода.
c = c.cloneNode(true);
(function f(a) {
/*код...*/
})(c);
return c
- Вот тут клонируется узел с потомками в переменную "с".
Потом "с" передается в функцию-замыкание, где там что-то с ней делается.
А как она от туда возвращается? разве код вне функции-замыкания видит что внутри нее?
И еще. Почему иногда пишется "(function(){}())", а иногда "(function(){})()" - в чем отличие?