JavaScript:JQuery不';t在ajax调用完成后应用css
我需要在javascript中使用ajax调用填充json对象数组,然后在html中将该数组显示为表。此外,根据ajax调用中返回的表数据中的某些列,我需要更改显示列的列单元格的背景颜色。所以我希望前10个等级的单元格背景颜色为绿色,包含这些等级值,下10个为黄色,依此类推 当我试图实现这一点时,我的代码面临着一种情况,无法找到原因 我的代码如下所示: JavaScriptJavaScript:JQuery不';t在ajax调用完成后应用css,javascript,jquery,html,ajax,jquery-ui,Javascript,Jquery,Html,Ajax,Jquery Ui,我需要在javascript中使用ajax调用填充json对象数组,然后在html中将该数组显示为表。此外,根据ajax调用中返回的表数据中的某些列,我需要更改显示列的列单元格的背景颜色。所以我希望前10个等级的单元格背景颜色为绿色,包含这些等级值,下10个为黄色,依此类推 当我试图实现这一点时,我的代码面临着一种情况,无法找到原因 我的代码如下所示: JavaScript $.ajax({ async:true, url: ... data: { format:
$.ajax({
async:true,
url: ...
data: {
format: 'json'
},
success: function(forecast) {
// put the forecast data inside the array
}
type: 'GET',
complete: function(){
columnTh = $("#forecastTable th:contains('Rank')");
console.log("columnTh:: " + columnTh.index()); //prints 1, the position of Rank column
columnIndex = columnTh.index();
$('#forecastTable tr td:nth-child(' + columnIndex + ')').css("background-color", "blue");
}
....
....
这不会将排名列的表格单元格的背景颜色更改为蓝色!我也把它改成了“颜色”,“蓝色”,但也没用。但在同一个完整函数中,如果我放入如下代码,它确实会将表头文本的颜色更改为绿色:
columnThAll = $("#forecastTable th");
columnThAll.css("color", "green");
您能告诉我应该更改什么来设置表单元格的背景颜色吗?我正试图按照上面的方法,基于jquery结果获取。您能告诉我您收到了什么错误消息吗。通过在DOM或console.Hi Niraj中进行检查,我的控制台日志中也没有任何错误。只是它没有设置颜色。我认为您应该将此$(“#forecastTable tr td:nth child(“+columnIndex+”)”)记录到控制台中,然后查看是否能够选择正确的排名。当页面直接加载到dom中时,您也可以在控制台上记录这一点。我已经打印了$的值('#forecastTable tr td:nth child('+columnIndex+')),它显示为:[object]。我还将对象的值打印为:object.values($(“#forecastTable tr td:nth child(“+columnIndex+”)”),它显示为:[object HTMLTableCellElement],1[object object object object]。您能在JSFIDLE上重现您的示例吗??