Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jQuery get <td> text from <tr> id, <td> is dynamically generated so I don't know how may or if any

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);
});
like image 462
Phill Pafford Avatar asked Jul 09 '09 18:07

Phill Pafford


1 Answers

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(' '));
});
like image 100
Ricky Supit Avatar answered Nov 12 '22 01:11

Ricky Supit