<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div></div>
<div></div>
<div></div>
<script>
var img = ['http://site.ru/img1.jpg','http://site.ru/img2.jpg','http://site.ru/img3.jpg'].sort((a, b)=>Math.random() - 0.5);
document.querySelectorAll('div').forEach((el,i)=>el.insertAdjacentHTML('beforeend', '<img src="'+img[i]+'">'));
</script>
</body>
</html>
ошибся 'beforeend' вместо
'afterend'