переписал с другим алгоритмом.
всё делается с помощью dom'овских функций, без оперирования с
innerHTML
......
есть демки для демонстрации работы.
В этой демке - html без скрипта. есть атрибуты, текстовые ссылки и разные выпендрёжи.
http://jsfiddle.net/HCryf/
теперь та же страница, но обработанная скриптом.
http://jsfiddle.net/vXeQb/
.....
ниже сам скрипт в двух версиях - минифированный и исходник.
Исходник :
http://pastie.org/2778322
.
и минифицированная версия
http://pastie.org/2778319.
для работы скрипта достаточно поместить его перед закрывающим тегом body (
</body>) или же вызвать его другим способом после загрузки dom-дерева.