Вставить элемент пред другим элементом?
Здравствуйте!
Вот такой 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, время: 20:52. |