这些方法在循环外而不是在循环内工作是否有原因?我什至还没有处理这些位置,颜色或文本更改也不起作用。
为了进一步扩展问题,我想做的是更改不同表格位置的文本。迭代也运行良好。
$('#tbody_tabla > tr:nth-child(3) > td:nth-child(5)').css("color", "red");
for (var i = 0; i < fechas.length; i++) {
for (var j = 0; j < nombres.length; j++) {
$('#tbody_tabla > tr:nth-child(3) > th:nth-child(3)').css("color", "red");
$('#tbody_tabla > tr:nth-child(4) > th:nth-child(4)').html("val");
}
}
$('#tbody_tabla > tr:nth-child(3) > td:nth-child(2)').css("color", "red");
$('#tbody_tabla > tr:nth-child(2) > td:nth-child(2)').html('HOLA');
我也会添加 HTML
<table class="table table-bordered" id="tabla_servicios" style="width:100%; padding:12px">
<tbody id="tbody_tabla">
<tr>
<th></th>
<th>2014-01-01 00:00:00</th>
<th>2014-02-13 00:00:00</th>
<th>2014-03-01 00:00:00</th>
<th>2014-04-01 00:00:00</th>
</tr>
<tr>
<th>Value2</th>
<td>2,2</td>
<td>2,3</td>
<td>2,4</td>
<td>2,5</td>
</tr>
<tr>
<th>Value3</th>
<td>3,2</td>
<td>3,3</td>
<td>3,4</td>
<td>3,5</td>
</tr>
<tr>
<th>Value4</th>
<td>4,2</td>
<td>4,3</td>
<td>4,4</td>
<td>4,5</td>
</tr>
<tr>
<th>Value5</th>
<td>5,2</td>
<td>5,3</td>
<td>5,4</td>
<td>5,5</td>
</tr>
<tr>
<th>Value6</th>
<td>6,2</td>
<td>6,3</td>
<td>6,4</td>
<td>6,5</td>
</tr>
<tr>
<th>Value7</th>
<td>7,2</td>
<td>7,3</td>
<td>7,4</td>
<td>7,5</td>
</tr>
<tr>
<th>Value8</th>
<td>8,2</td>
<td>8,3</td>
<td>8,4</td>
<td>8,5</td>
</tr>
</tbody>
</table>
最佳答案
我以前从未见过这样的子选择。
$('#tbody_tabla > tr:nth-child(3) > td:nth-child(5)')
我认为当命名单元更快且更易于调试时,让代码搜索单元是一种不好的做法。你为什么不给 td 标签命名/编号?
$("#tbody_tabla > tr").eq(3).children().eq(5).css("color", "red");
以上可能有效。如果做不到这一点,请提供示例 HTML,以便人们有更好的机会帮助您。
另请参阅:http://api.jquery.com/find/
已编辑:@joseph-marikle 建议使用 children() 而不是 find()
关于jQuery 方法(.css、.html 等)在内部不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36500961/