根据表格中其他文本添加倒数计时器

时间:2012-11-21 20:50:46

标签: javascript jquery html

我正在尝试使用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"
        });
​});​

3 个答案:

答案 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/