Создание элемента в начале innerHTML
Здравствуйте, у меня есть кусок HTML:
<li class="disabled" id="button3">
<div class="supply3">
</div>
</li>
Мне нужно создать тег img над div.
<li class="disabled" id="button3">
<img width="22" height="14" align="left" id="turnbutton" title="Добавить в очередь" src="img/layout/sofort_bauen.gif">
<div class="supply3">
</div>
</li>
Код который ниже...
var buildbox = document.getElementById("building");
var buildArray = buildbox.getElementsByClassName("disabled");
//var button = "<img align=\"left\" title=\"Добавить в очередь\" width=\"22\" height=\"14\" src=\"img/layout/sofort_bauen.gif\">";
var turnButton = document.createElement('img');
turnButton.id = 'turnbutton', turnButton.align = 'left', turnButton.title = 'Добавить в очередь', turnButton.width = '22',
turnButton.height = '14', turnButton.src = 'img/layout/sofort_bauen.gif';
for (i = 0; i < buildArray.length; i++) {
buildArray[i].insertBefore(turnButton, buildbox.getElementsByClassName("supply" + i)[0]);
}
И попытки поиграться с Child'ами и Sibling'ами, не увенчались успехом... |
Поздравляем!:victory:
|
Благодарю, обожаю подобную дружелюбность со стороны посетителей форума...
|
Это был не просто флуд, но намек. Лично я не понял сути проблемы.
|
В таком случае, извиняюсь...
Проблема заключаеться в том, что при создании элемента, он создается в конце выделенного элемента. Даже с (вероятно неправильным) использованием insertBefore |
Как насчет такого варианта:
<li class="disabled" id="button3">
<div class="supply3">text</div>
</li>
<script>
var li = document.getElementById('button3'),
liChild = li.childNodes,
div, img = document.createElement('img')
img.src = 'http://javascript.ru/forum/images/ca_serenity/misc/logo.gif'
for(var i=0, len=liChild.length; i<len; i++){
if(liChild[i].className == 'supply3') {
div = liChild[i]
break
}
}
li.insertBefore(img, div)
</script>
|
Немного переделал под себя, но ошибку я нашел, спасибо...
|
| Часовой пояс GMT +3, время: 20:31. |