Сообщение от JSTalker
|
Ситуацию с циклом for: видимо есть какой то шаблон (каркас)
|
не знаю насколько корректно получилось, но как-то так:
for(<инициализация>;<условие>;<корректирование>){
//тело цикла
}
Цикл начинает работу (ищит следущий дочерний элемент e) с выражения x = e.firstChild, и работает до тех пор пока не получит значение null (как доберется до несущестующего элемента - e.lastChild+1)
Может этот вариант поможет понять:
<script type="text/javascript">
window.onload = function(){
var element = document.getElementById('div'), //родительский элемент
children = element.childNodes, //дочернии элементы
i = children.length, array = []; //получаем количество элементов и создаем пустой массив
if(element.hasChildNodes()) { //проверяем есть ли дочернии элементы
while(i--){
if(children[i].tagName != undefined) { //отбираем, только те которые не имеют значение undefined
array.push(children[i].tagName + ': ' +children[i].innerHTML + '\n'); //добавляем в массив
}
}
}
alert(array.join(''));
};
</script>
<div id="div">
<div>0</div>
<div>1</div>
<div>2</div>
</div>
тоже самое (без линих проверок), только пошустрей:
var element = document.getElementById('div').childNodes, i = element.length, array = [];
while(i--){
array.push(element[i].nodeType == 1 ? element[i].innerHTML + '\n' : '');
}
alert(array.join(''));