2010-09-02 191 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