Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript:JQuery不';t在ajax调用完成后应用css_Javascript_Jquery_Html_Ajax_Jquery Ui - Fatal编程技术网

JavaScript:JQuery不';t在ajax调用完成后应用css

JavaScript: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:

我需要在javascript中使用ajax调用填充json对象数组,然后在html中将该数组显示为表。此外,根据ajax调用中返回的表数据中的某些列,我需要更改显示列的列单元格的背景颜色。所以我希望前10个等级的单元格背景颜色为绿色,包含这些等级值,下10个为黄色,依此类推

当我试图实现这一点时,我的代码面临着一种情况,无法找到原因

我的代码如下所示:

JavaScript

$.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上重现您的示例吗??