简体   繁体   English

jQuery如果日期为true,则更改元素x的类

[英]jQuery if date true, change class of element x

Now I have two more questions and have updated my code. 现在,我还有两个问题,并更新了我的代码。

  1. I have this if (releaseDate <= today), why is the Date 15.05.2015 success?! 我有这个if(releaseDate <=今天),为什么Date 15.05.2015成功?
  2. When I want to check dates with time example: 25.04.2015 - 09.00 am, how can I check that with today and when date is over 25.04.2015 == true. 当我想用时间示例检查日期:25.04.2015-09.00 am时,如何检查今天和日期超过25.04.2015 == true。

My code: 我的代码:

 <script src="https://code.jquery.com/jquery.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script> <script> var releaseDate = {}; jQuery(".state").each(function() { releaseDate = jQuery(this).text() var today = new Date(); var dd = today.getDate(); var mm = today.getMonth()+1; var yyyy = today.getFullYear(); var hh = today.getHours(); if(dd<10){ dd='0'+dd } if(mm<10){ mm='0'+mm } var today = dd+'.'+mm+'.'+yyyy; if (releaseDate <= today) { jQuery(this).parent().next().find('span.label').addClass('label-success').removeClass('label-warning'); jQuery(this).parent().next().find('span.label').text('Online'); } }); </script> 
 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"> <table class="table table-hover"> <thead> <tr> <th align="center" valign="middle"><strong>Shop</strong></th> <th align="center" valign="middle"><strong>Date</strong></th> <th align="center" valign="middle"><strong>Status</strong></th> <th align="center" valign="middle"><strong>Link</strong></th> </tr> </thead> <tbody> <tr> <td align="center" valign="middle"><a href="#" rel="nofollow">LINK</a></td> <td align="center" valign="middle"><span class="state">15.05.2015</span></td> <td align="center" valign="middle"><span class="label label-warning">Upcoming</span></td> <td align="center" valign="middle"><a class="btn btn-info btn-sm" href="#" title="#" target="_blank"><strong>LINK <span class="glyphicon glyphicon-share-alt"></span></strong></a></td> </tr> <tr> <td align="center" valign="middle"><a href="#" rel="nofollow">LINK</a></td> <td align="center" valign="middle"><span class="state">25.04.2015</span></td> <td align="center" valign="middle"><span class="label label-warning">Upcoming</span></td> <td align="center" valign="middle"><a class="btn btn-info btn-sm" href="#" title="#" target="_blank"><strong>LINK <span class="glyphicon glyphicon-share-alt"></span></strong></a></td> </tr> <tr> <td align="center" valign="middle"><a href="#" rel="nofollow">LINK</a></td> <td align="center" valign="middle"><span class="state">30.04.2015</span></td> <td align="center" valign="middle"><span class="label label-warning">Upcoming</span></td> <td align="center" valign="middle"><a class="btn btn-info btn-sm" href="#" title="#" target="_blank"><strong>LINK <span class="glyphicon glyphicon-share-alt"></span></strong></a></td> </tr> <tr> </tbody> </table> 

I hope someone can explain or show me that! 我希望有人能解释或告诉我!

I see that you want to change the class of the span in the next table cell td . 我看到您想在下一个表格单元td更改span的类。 You can use $(this).parent().next() to get to that cell, and use .find('.label') to locate the span that you want to change the class for. 您可以使用$(this).parent().next()转到该单元格,并使用.find('.label')找到要为其更改类的span

Then, you can use either the combination of removeClass() and addClass() or just toggleClass() methods: 然后,您可以使用removeClass()addClass()的组合,也可以只使用toggleClass()方法:

if (releaseDate == today) { 
    $(this).parent().next().find('.label').removeClass('label-warning').addClass('label-success');  
    //or possible
    $(this).parent().next().find('.label').toggleClass('label-warning label-success');              
}   
if (releaseDate == today) {
    $(this).parent().next().find('span.label')
        .addClass('label-success').removeClass('label-warning');
}

Does what you want. 做你想要的。 Demo here . 演示在这里

removeClass() and addClass() are fairly self explanatory. removeClass()addClass()可以自我解释。 parent() goes to the surrounding <tr> element, next() get the immediately following siblings, and find() looks for a span with a class of label in this instance. parent()转到周围的<tr>元素, next()获取紧随其后的同级元素,在这种情况下, find()查找带有一类标签的范围。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM