d1, выполнение вашей функции при тысяче ссылок занимает 48238 миллисекунд, вы бы хоть смотрели что вообще пишите. Вот 2 моих варианта:
Самый короткий - не требует оборачивающего дива(время выполнения для 1000 ссылок - 135мс)
Code
<script>
document.write((function(a,b,c){while(--b)c='<a href=/'.concat(a,b,'/ target=_blank><img src=/',a,b,'/lol.gif></a>',c);return c})('products/',6,''))
</script>
Самый быстрый вариант - с оборачивающим дивом (время выполнения для 1000 ссылок - 112мс)
Code
<script>
document.getElementById('lol').innerHTML=(function(a,b,c){while(--b)c='<a href=/'.concat(a,b,'/ target=_blank><img src=/',a,b,'/lol.gif></a>',c);return c})('products/',6,'')
</script>