Показать сообщение отдельно
  #24 (permalink)  
Старый 11.07.2009, 12:34
Интересующийся
Отправить личное сообщение для Photon Посмотреть профиль Найти все сообщения от Photon
 
Регистрация: 05.05.2009
Сообщений: 19

Для начала: нафига последнее i++?
Затем: А кто сказал, что Date.parse() нормально работает со строкой типа '10.02.2009'?
И третье: не совсем правильный подход к написанию скрипта..
function del(){
    var date = new Date();
    var Months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'July', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
    var table = document.getElementById("tableId");
    var trs = table.getElementsByTagName("tr"); // все строки
    var i = trs.length;
    while (i) {
        var td = trs[--i].getElementsByTagName('td');
        var cnt = td.length;
        for (var j = 0; j < cnt; j++) {
        	var data = td[j].innerHTML;
        	var data_arr = data.split('.');
        	if (data_arr.length > 0) {
        		m = Months[data_arr[1] - 1];
        		d = data_arr[0];
        		y = data_arr[2];
        		alert('date = ' + d + ' ' + m + ' ' + y + ' parse = ' + Date.parse(d + ' ' + m + ' ' + y));
        		alert(date.getTime());
                if (Date.parse(d + ' ' + m + ' ' + y) < date.getTime()) {
                    table.deleteRow(i);
                    break;
                }
            } 
        }
    }
}


Вот как-то так. Это работает и все удаляет как надо.. Все строки, в которых дата меньше сегодняшней.. Я думаю, переделать под нужную дату труда уже не составит
Ответить с цитированием