Ich habe den folgenden HTML-Code: Mein Code mehrere Klassen „Chat-Nachricht“Wie zwischen Daten mit Jquery suchen und das div verbergen?
<a href="#" onclick="dateBetweenCheck();">Filter</a>
<div class="chat-message">
<div class="message">
<span class="message-date">13/02/2016</span>
<span class="message-content">
Lorem ipsum dolor sit amet
</span>
</div>
<div class="message">
<span class="message-date">15/02/2016</span>
<span class="message-content">
ponderum ullamcorper delicatissimi ex mel
</span>
</div>
</div>
Ich habe folgende Javascript-Funktion durch die .message Klasse zu gehen und überprüfen, ob das Nachrichtendatum zwischen einem Start ist Datum und ein Enddatum.
function dateBetweenCheck() {
var sDate,eDate;
sDate = $.datepicker.parseDate('dd/mm/yy', $('#startDate').val());
eDate = $.datepicker.parseDate('dd/mm/yy', $('#endDate').val());
$(".message").each(function(){
var messageDate = $.datepicker.parseDate('dd/mm/yy', $(this).find(".message-date").text());
if((messageDate <= eDate && messageDate >= sDate)) {
$(this).remove();
return true;
}
});
}
Wie die Klasse .message und ihre untergeordneten Elemente entfernen? Wie kann ich die .message-Klasse erneut anzeigen, wenn ich auf die Filterschaltfläche klicke?
Sie sollten die Elemente verstecken (mit '.Hide()'), nicht entfernen (mit '.remove()'). Sie können ein gelöschtes Objekt nicht wiederherstellen. Um es umzudrehen, zeigst du ihnen alle(). –
Haben Sie jemals darüber nachgedacht, mit moment.js zu arbeiten? Dies kann die Menge an Code, die Sie schreiben, verkürzen. Sie könnten alle Ihre Zeiten in ein Array setzen und nachsehen, ob es dazwischen liegt. Wenn ja, suchen Sie nach dem Datum-Datum-Attribut oder der speziellen ID in Ihrem HTML. –