代码以动态删除列表项目取决于日期

我正在寻找代码(HTMl,CSS或javascript)或任何方式来解决我的问题。 我最近的任务是帮助我公司网站的设计和function。 有一个页面将包含一年中就业人员将要参加的事件列表。 例如:

Travel Territory
Catch me at these schools!

是否有任何代码可以在它们通过后删除该列表的元素? 或者我是否必须每天手动将其从列表中删除?

我并不反对重新创建整个列表的想法,所以任何事情都会有所帮助! 感谢您提前获得所有帮助!

你可以编写一个Javascript函数并使用
var list = document.getElementById("myList"); 得到清单。 您可以使用删除列表项
list.removeChild(list.childNodes[0]); 您可以使用css选择器在list.removeChild()中指定li元素。

 var filterFunc = function (parentElm, yearToCheck) { var listElms = $(parentElm).children(); var count = listElms.length; for (var i=0 ; i < count; i++ ){ var data = $(listElms[i]).html(); var dateText = data.split(" ")[0]; var year = new Date(dateText).getFullYear(); if(year != yearToCheck) { $(listElms[i]).remove(); } } } filterFunc(parentElement, "2018"); 

首先让我们为你的ul添加一个id,以便于访问。(“myList”)
然后:

 function filterDates(){ var list = document.getElementById("myList"); //wanted substring from first of the string to the first space var listItems = Array.from(list.children); //list.children is not actually an array list.innerHTML = "" //make the list empty var now = new Date(); //current time var filteredList = listItems.filter(function(li){ var dateString = li.innerHTML.split(' ')[0]; var splited = dateString.split('/') //it is an array: [MM, DD, YYYY] var dateToCheck = new Date(splited[2], splited[0], splited[1]); // new Date(year, month, day) return dateToCheck.getTime() > now.getTime(); }) filteredList.forEach(function(el){ list.appendChild(el); }) } 

我将日期格式从您编写的内容(MM / DD / YYYY)更改为Date类适当的格式,然后将其设置为日期,并将其与当前时间进行比较
如果当前时间比我们检查的日期少,那么我们会将它保留在新数组中,反之亦然
最后,我们将过滤后的项目添加到列表中

希望能帮助到你