2015-06-04 27 views
0

嗨,一直有很多麻烦。由jQuery生成的表在我需要支持的所有浏览器中工作正常,除了IE9。该表应该看起来像由JQuery生成的HTML表格在IE9中不工作

enter image description here

但显示像这样在IE9

enter image description here

这些课程方面正在呈现为一个巨大的文本,而不是单独的TDS。

它应该看起来像这样:

enter image description here

这里是生成表的代码。

tempDiv = document.createElement("div"); 
    tempDiv.id = "courseAvailabilityTitle"; 

    var availabilityLabel = $('#availabilityLabel').val(); 

    if(availabilityLabel != null){ 
     tempDiv.innerHTML = availabilityLabel; 
    } 
    else{ 
     tempDiv.innerHTML = "Course Availability"; 
    } 
    bodyDiv.appendChild(tempDiv); 

    // Course Availability Table 
    tempDiv = document.createElement("div"); 
    tempDiv.id = "courseAvailability"; 
    html = "<table align=\"center\" cellspacing=\"0\" cellpadding=\"3\" border=\"0\">"; 
    html += "<tr id=termAvailability>"; 

     for (var i = 0; i < courseDesc.termHeaders.length; i += 1) { 
      html += "<td class=\"availabilityTerms\">" 
        + courseDesc.termHeaders[i] + "</td>"; 
     } 

    html += "</tr><tr id=\"termsRow\">"; 

    for (var i = 0; i < courseDesc.availability.length; i += 1) { 
     html += "<td class=\"availabilityBox\">&nbsp;</td>"; 
    } 

我在想这个问题可能是在html + =。我尝试用.append替换它,但无法使其正常工作。任何帮助或想法将不胜感激,这一直是疯狂的。谢谢!

回答

0

This JSFiddle should work.

以下是我在开发工具中看到(IE10在IE9标准模式):

enter image description here

我无法重现您的具体问题,但我发现, appendChild()声明在中间给我造成了一些不好的结果,例如"undefined""[Object object]"。我将附录下移到最后,它似乎很好。

document.getElementById('bodyDiv').appendChild(tempDiv); 

如果这没有帮助,也许尝试在添加行之前明确添加一个tbody。