问题
I have a jQuery function already to perform the task I need but is there a way to loop through the <td> cells of a specific <tr> with the id="generated_rows"
<table>
<tr id="generated_rows">
<td class="row_class" id="row_id_1">text 1</td>
<td class="row_class" id="row_id_2">text 2</td>
<td class="row_class" id="row_id_3">text 3</td>
<td class="row_class" id="row_id_4">text 4</td>
<td class="row_class" id="row_id_5">text 5</td>
</tr>
</table>
Need this:
<table>
<tr id="generated_rows">
<td class="row_class" id="row_id_1">text 1.00</td>
<td class="row_class" id="row_id_2">text 2.00</td>
<td class="row_class" id="row_id_3">text 3.00</td>
<td class="row_class" id="row_id_4">text 4.00</td>
<td class="row_class" id="row_id_5">text 5.00</td>
</tr>
</table>
FUNCTION BELOW NOW WORKS!,
// Check for whole numbers and append .00
$('#generated_rows td.row_class').each(function() {
var x = Number($(this).text()).toFixed(2);
$(this).text(x);
});
回答1:
You are close, just need to use td instead of tr in your selector. Here's my version to append ".00" at the end of cell's text (assuming all numbers are not already in fixed format of course)
$("#generated_rows > td.row_class").each(function() {
var $this = $(this);
var splitText = $this.text().split(' ');
splitText[1] = Number(splitText[1]).toFixed(2);
$this.text(splitText.join(' '));
});
来源:https://stackoverflow.com/questions/1105759/jquery-get-td-text-from-tr-id-td-is-dynamically-generated-so-i-dont-know