<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/mootools/1.3.0/mootools-yui-compressed.js"></script>
</head>
<body>
<ul id="list">
<li>один<li>два<li>три<li>четыре<li>пять
</ul>
<button>Сортировать</button>
<script>
$$('button').addEvent('click', function(){
$('list').getChildren()
.sort(function(a, b){
if( a.get('text') == b.get('text') )
return 0;
return a.get('text') < b.get('text')
? -1
: 1;
})
.inject( $('list') );
});
</script>
</body>
</html>
---
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'); //добавляем в массив
}
}
}
может в каких-нибудь фреймворках такой код и имеет смысл, но только не в real life...
Сообщение от JSTalker
|
1. Ситуацию с циклом for: видимо есть какой то шаблон (каркас), на котором можно реализовывать различные варианты циклов for: ( in )? (firstChild, !=null, nextSibling). В частности как работает вариант с firstChild, nextSibling?
|
ты не знаешь, как работает for?
http://javascript.ru/for
Сообщение от JSTalker
|
2. Все таки ситуацию с sort()-ом, не понять:
2.1 Сравнивающая функция может иметь только 2 аргумента?
2.2 Эти m и n ни что иное как l и r в QuickSort?
Как вообще лучше читать такие сорты?
|
да, 2 аргумента и не важно как сортировка реализована. Твоя задача: вернуть -1, 0 или 1
Сообщение от Kepa
|
Спасибо, более-менее разобрался (:
|
и все же не до конца?