我正在尝试使用jQuery基于同一个表中另一个td的文本将倒计时器(使用这个http://keith-wood.name/countdown.html)添加到td。
例如,我的表如下所示,如果状态td包含文本“Received”,我想将计时器添加到time_remaining td。
<table>
<tr>
<td class="status">Completed</td>
<td class="time_received"></td>
<td class="time_remaining"></td>
</tr>
<tr>
<td class="status">Received</td>
<td class="time_received"></td>
<td class="time_remaining"></td>
</tr>
</table>
我的jQuery目前看起来如下所示,但我正在使用$(this).next()
,它只会将计时器添加到time_received td,但是我需要将它添加到time_remaining td,我可以使用什么而不是.next()
?任何帮助将不胜感激。
var newCount = new Date();
newCount.setMinutes(newCount.getMinutes() + 30);
$('td.status:contains(Received)').each(function() {
$(this).next().countdown({
until: newCount,
format: 'M',
layout: "{mn} min"
});
});
答案 0 :(得分:2)
.next()
有一个带选择器的重载,所以你可以使用:
var newCount = new Date();
newCount.setMinutes(newCount.getMinutes() + 30);
$('td.status:contains(Received)').each(function() {
$(this).next(".time_remaining").countdown({
until: newCount,
format: 'M',
layout: "{mn} min"
});
});
见这里:JQuery .next()
答案 1 :(得分:2)
你可以将一个选择器传递给next并使用索引来指定哪个 - 在你的情况下只有一个兄弟与time_remaining类,所以它是相同的
.next(".time_remaining")[0]
或者,如果您总是想要第二个兄弟姐妹,那么
.nextAll()[1]
答案 2 :(得分:0)
你仍然可以使用.next(),只需传入你想要的td的选择器。
$(this).next('.time_remaining').countdown({});
查看文档以获取更多信息: http://api.jquery.com/next/