вот такой пример.
есть таблица,
первая ячейка каждой строки пустая,
во второй ячейке содержится текст новости с датой.
Дата внутри тега <div> .
Нужно выбрать дату, найти разницу с текущей и если она
меньше 120 дней, поставить в первой ячейке текст new.
Почему-то она пишет его в обоих ячейках, затирая текст.
var now = new Date(); // текущая дата
window.onload = function() {
$('table.news_table tr').each(function (i) {
var tmp = $(this); // получаем строку
var f1 = tmp.children(); // ссылка на первую ячейку, чтоб записать признак new
var f2 = f1.next(); // переходим к следующей ячейке
var f3 = f2.children(); // выбираем дату из тега div
var cc = f3.html(); // значение даты в формате ДД.ММ.ГГГГ
alert(tmp.html());
alert('cc='+cc);
var dt = cc.split('.'); // парсим дату
dt[1]--; // отсчет месяца с нуля
var nd = dt[2]+'-'+dt[1]+'-'+dt[0];
var cd = new Date(dt[2],dt[1],dt[0],0,0,0);
var diff = 0;
diff = (now.getTime() - cd.getTime()) / (1000*60*60*24); // разница в днях
alert(diff);
if (diff <= 120 ) {
// если меньше 120 дней, пытаемся записать текст в первую ячейку, но пишет во все ячейки строки, затирая всю строку :(
f1.html('new');
}
});
}