感谢大家考虑我的新手问题。我正在使用 jQuery 遍历一个表并在一个数组中捕获所有硬编码的日期。我将这些日期与 Date.today(); 使用 .isAfter() 函数。如果硬编码的日期是过去的,它应该得到一个 .css("display", "none");
<table>
<html>
<table>
<tr class="gig">
<td class="gigDate">Mar 27 2013</td>
<td>the Saloon</td>
<td>Atlanta, Ga</td>
<td>$20 (2 passes)</td>
<td>button to purchase tix<td>
</tr>
<tr class="gig"><td class="gigDate"> ... date2 ..</td></tr>
<tr class="gig"><td class="gigDate"> ... date3 ..</td></tr>
<tr class="gig"><td class="gigDate"> ... date4 ect ..</td></tr>
</table>
<script type="text/javascript">
$("document").ready( function() {
var stringDate = []; //create array to hold elements
var now = Date.today(); // create current date
$('.gigDate').each(function (i, e) { //adds hardcoded dates to array
stringDate.push($(e).text());
});
for(var y = 0; y < stringDate.length; y++){
var singleDate = Date.parse(stringDate[y]); //parse to milliseconds
var compare = now.isAfter(singleDate); //compare to today's date
if(compare){
$('.gig').css("display", "none"); //hide <tr class="gig">
//if in the past
}
}
});
</script>
循环逻辑似乎可以正常运行,但是添加样式 display:none 的 if(statement) 很糟糕。任何帮助将不胜感激。