2015-06-04 65 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。