Тьфу. Не используйте встроенные сценарии там, где вы их избегаете, и не используйте innerHTML, когда доступно прямое создание и вставка DOM. И использовать CSS для обработки позиционирования / spacin. Изображения уже отображаются встроенными, поэтому обтекание тегами div по отдельности просто усложняет ситуацию.
Не зная, что делает ваш метод, я догадываюсь, но это то, что вы должны делать примерно:
<head>
<script>
function createImage(t,params)
{
var img = document.createElement('img');
/* season img to taste (e.g. img.src = params.source? */
t.appendChild(img);
}
/* bind this method to onload event or better a ready event */
function exec()
{
var t = document.getElementByid('target');
createImage(t,xx);
createImage(t,yy);
createImage(t,zz);
}
</script>
<style>
/* I'm not advocating px here and these are just example values */
#target {width: 600px; text-align: center;}
#target img {border: 0px; margin: 0 10px; } /* the margin handles the spacing */
</style>
</head>
<body>
<div id="target"></div>
</body>
Справочник по методам JS DOM
Почему innerHTML плох? Хотя это правда, это может быть быстрее, это не всегда правда, а это близко в любом случае, но тогда скорость на самом деле не проблема с JS. Однако innerHTML:
- открывает инъекционную атаку
- может создавать утечки памяти, когда уничтожает уже существующие элементы с помощью обработчиков событий
- на основе строк подвержен ошибкам
- не возвращает ссылку на то, что вы только что вставили, и не может клонировать