2010-09-02 93 views
1

我有几个td s,其中ids = row [0],row [2] row [4]依此类推。使用jQuery批量更改HTML内容

<td id="row[4]">02:45</td> 
<td id="row[6]">03:45</td> 

内容在这些次像03:45,04:45我想更改为03:15,04:15等使用jQuery。

编辑:

我结束了与此:

jQuery('td[id^="row"]').each(function(){ 
    min = parseInt(jQuery(this).text().substr(3,2)) + 30; 
    min %= 60; 
    new_time = jQuery(this).text().substr(0,3) + min; 
    jQuery(this).text(new_time); 
    }); 

有没有更合适的方法,现在做到这一点?

+0

方括号不是为ID有效字符属性。为什么不给父母元素一个id并通过* childNodes [i] *访问孩子? – 2010-09-02 08:58:00

回答

0

这取决于如何您正在访问的细胞。如果他们根本不提示他们的内容,他们可以简单地连续命名。假设你已经得到了照顾,语法的改变(正确命名)元素是

$('#your_id').html('text or HTML string here'); 

$('#your_id').text('text or HTML string here'); 

更换其中只有文字。

1

另一种解决方案。由于你只想改变td S的内部文本,试试这个...

$('#myTable td').text(function (i, oldValue) { 
    return oldValue.replace('45', '15'); 
}); 

你也可以使用由@Sarfaz建议,而不是选择。

未经测试,但我相信它应该工作。

1

感谢您的回复......我结束了这个......现在有没有更好的方法可以做到这一点? 我想让01:00至01:30,01:15至01:45,01:30至01:00和01:45至01:15

jQuery('td[id^="row"]').each(function(){ 
    min = parseInt(jQuery(this).text().substr(3,2)) + 30; 
    min %= 60; 
    new_time = jQuery(this).text().substr(0,3) + min; 
    jQuery(this).text(new_time); 
    }); 
+2

我认为你应该把这个添加到你的问题中(通过编辑),而不是将它发布为答案。 (因为它有另一个问题)。 – 2010-09-02 10:46:06

+0

谢谢...那是... – Garfield 2010-09-02 10:53:43