Сортировщик списка
Добрый день.
Код http://jsfiddle.net/wy8X9/226/ Не добавляются элементы из списка. addAllElements: function(){ var tbody = document.getElementsByTagName("tbody"); var tr = document.createElement("tr"); for(var i = 0; i < 3; i++){ tbody.appendChild("tr"); tr.createTextNode(list.test[i]); } } Еще, хотелось бы, оптимизировать код. document.getElementById("id").addEventListener("click", function(){ list.sortById(); }); Если таблица состоит из 10-ти ячеек, замучаюсь копипастить. Как вариант, рассматриваю цикл. |
Обновила код, но мало что изменилось.
http://jsfiddle.net/VaAlina/wy8X9/235/ |
Blondinka,
в 5 создайте ячейку, 6 добавьте в ячейку текст, 7 добавьте ячейку в строку, в 5 строке исправьте ошибку поставьте после цикла |
Blondinka,
2 строка выберите нужный элемент из списка. |
Blondinka,
:( addAllElements: function() { var tbody = document.getElementsByTagName("TBODY")[0], f = document.createDocumentFragment(); for (var k = 0; k < list.test.length; k++) { var tr = document.createElement("TR"); for (var i = 0; i < 3; i++) { var td = document.createElement("TD"), text = document.createTextNode(list.test[k][i]); td.appendChild(text); tr.appendChild(td); } f.appendChild(tr); } tbody.appendChild(f); } |
рони,
почему грустный смайлик? Я пишу. Сейчас так http://jsfiddle.net/VaAlina/wy8X9/236/ Работает не очень. Создала таблицу без ячеек и удивляюсь, почему же она не работает. |
http://jsfiddle.net/VaAlina/wy8X9/240/ не работает. Возьму ваш код. Он работает.
|
рони,
спасибо. |
Доделала.
http://jsfiddle.net/VaAlina/wy8X9/243/ Появился вопрос: "Почему сортировка по названию работает только с reverse() ?" |
Blondinka,
потому что не число и надо использовать полную версию сортировки , а не разницу. если нужно поменяйте a и b местами во 2 строке sortByName: function() { list.test = list.data.sort(function(a, b) { a = a[1]; b = b[1]; if (a > b) return 1; if (a < b) return -1; return 0 }); alert(list.test.join(", ")); }, |
удаление строк таблицы
Blondinka,
на всякий случай ещё вариант удаления строк таблицы... removeAllElements: function() { var tbody = document.getElementsByTagName("TBODY")[0]; for (; tbody.rows.length;) { tbody.deleteRow(0) } }, |
рони, спасибо.
|
Часовой пояс GMT +3, время: 15:40. |