Я пытаюсь сравнить две даты в различных форматах, чтобы выделить новые элементы, добавленные с вашего последнего посещения, но есть одна проблема с первой датой:Сравнение двух дат в различных форматах в JavaScript/JQuery
jQuery("td.details > span:last-child").each(function() {
var a = jQuery(this).text();
var b = a.split('/');
var c = b[1]+'/'+e[0]+'/'+e[2]; //dd.mm.yyyy=>mm.dd.yyyy
var d = new Date(c);
var date = d.getTime();
jQuery('<span/>', {
'class':'date',
'text': date,
}) .appendTo("td.details > p");
});
HTML:
<td class="details"><p>new item1</p><span>10/1/2017 17:06</span></td>
<td class="details"><p>new item2</p><span>09/1/2017 22:26</span></td>
<td class="details"><p>new item3</p><span>09/1/2017 11:18</span></td>
<td class="details"><p>new item4</p><span>08/1/2017 14:32</span></td>
каждого td
имеет другую дату, ожидание в каждом td
будет создан span
с соответствующим d.getTime()
значения (только тестированием), но вновь созданный span
содержит все d.getTime() values
(с каждого td
) не только это один. Что я делаю не так?
Вторая дата будет таким же (lastvisit) для каждого td
поэтому никаких проблем
'.appendTo (" td.details> p ");' говорит, "присоединяется ко всем p во всех td.details". Вам нужно развернуть это до текущего. Возможно, это может сработать (отсюда комментарий не отвечает): .appendTo ($ (this) .closest ("td"). Find (". Details> p")); '. –
не работал, но '.appendTo (это)' отлично работает – Nidecker