[英]jQuery if date true, change class of element x
Now I have two more questions and have updated my code. 现在,我还有两个问题,并更新了我的代码。
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.