Вставить элемент пред другим элементом?
Здравствуйте!
Вот такой html <div id="tree"> <div>node</div> <div>node</div> <div>node</div>... </div> Надо добавить span перед вложенными div'ами. Юзал, insertBefore, но, очевидно, делаю что-то не так: var elems = document.getElementById("tree").getElementsByTagName("div"); var num = elems.length; for(var i=0; i<num; i++) { plus = document.createElement('span'); plus.innerHTML = '+'; elems[i].insertBefore(plus,elems[i]); } Вот это самое elems[i].insertBefore(plus,elems[i])не работает. Зато работает elems[i].insertBefore(plus,elems[i].firstChild);Но это не то, что мне нужно. Получается <div> <span>+</span> node </div> А надо <span>+</span><div> node </div> |
Цитата:
<script type="text/javascript"> function Go() { var op=document.getElementById("tree"); var od=op.getElementsByTagName("div"); var plus; var i; for (i=0; i<od.length; i++) { plus=document.createElement('span'); plus.innerHTML = '+'; op.insertBefore(plus,od[i]); }; }; </script> <div id="tree"> <div>node 1</div> <div>node 2</div> <div>node 3</div> </div> <input type='button' value='Go' onclick='Go()' /> |
<html> <head></head> <body> <div id="tree"> <div>node</div> <div>node</div> <div>node</div>... </div> <script type="text/javascript"> var elems = document.getElementById("tree").getElementsByTagName("div"); var num = elems.length; for(var i=0; i<num; i++) { plus = document.createElement('span'); plus.innerHTML = '+'; elems[i].parentNode.insertBefore(plus,elems[i]); } </script> </body> </html |
ksa,
Пока мой инет висел как последняя кака, ты уже успел чиркнуть ответ =))) Как жеж меня достал этот ADSL :-E |
devote, кто смел - тот два съел! :D
|
ksa,
ну я зато не переписывал его код полностью. просто добавил parentNode :p |
Цитата:
|
ksa, да я такой :D
|
Часовой пояс GMT +3, время: 11:49. |