我有一个看起来像这样的span元素。
html
<span class="tribe-event-date-start">September 5 @ 7:00 pm</span>
我想按日期指定该元素,并向其父容器添加一个类。
如果当前日期与元素中的日期匹配,则该类旨在突出显示容器。请注意,我只能在此处获取月和日,因此仅需匹配。我根本不是JS或JQuery专家,但是了解基础知识,我知道我可以利用两者之一来产生最终结果。
这是WordPress插件“事件日历”小部件的输出,用于显示即将发生的事件。
如果元素日期与实际日期匹配,则最终结果应该是添加到父div中的类。
答案 0 :(得分:0)
如果您可以相信输出将始终看起来像您可以执行以下操作:
var _dateToCheck = $(".tribe-event-date-start").text();
_dateToCheck = _dateToCheck.substring(0,_dateToCheck.indexOf("@"));
_dateToCheck.trim();
var _current = new Date();
console.log(_dateToCheck.getMonth(), _dateToCheck.getDate(), _current .getMonth(), _current.getDate());
因此您可以对月份进行比较检查,然后对日期进行检查。
如果实际上确实需要将“ tribe-event-date-start”类应用于元素,那么您将在日期比较逻辑之后执行此操作……但是您仍然需要进行某些操作,因此如果您没有开始的类或ID,那么您将不得不使用实际的元素,但是我仍然会尝试缩小列表的范围,例如:
var _allTheRows = $("#my-calendar-plugin-thing span");
_allTheRows.each(checkDate);
function checkDate(el){
var _dateToCheck = $(el).text();
_dateToCheck = _dateToCheck.substring(0,_dateToCheck.indexOf("@"));
_dateToCheck.trim();
var _current = new Date();
console.log(_dateToCheck.getMonth(), _dateToCheck.getDate(), _current
.getMonth(), _current.getDate());
//... check if date is greater or smaller or the same, or whatever your logic is
if(meetsMyCondition){$(el).parent().addClass("tribe-event-date-star")}
}