2014-01-21 59 views
1

我面臨着JavaScript的一個問題。我發現它在Chrome中運行良好,但在IE9中運行正常。這不會顯示Chrome在網頁上按預期顯示的內容。 我是新來的JavaScripting,我可以得到幫助解決這個問題。JavaScript適用於Chrome,但不適用於ie9

<script type="text/javascript"> 

       var tds = document.getElementById('course_table') 
         .getElementsByTagName('td'); 
       var sum = 0; 
       for (var i = 0; i < tds.length; i++) { 
        if (tds[i].className == 'count-me') { 
         sum += isNaN(tds[i].innerHTML) ? 0 
           : parseInt(tds[i].innerHTML); 
        } 

       } 
       var lastrecord = tds[tds.length - 2].innerHTML; 

       var table = document.getElementById('course_table') 
         .getElementsByTagName('tr'); 
       var max = table.length - 2; 
       document.getElementById('course_table').innerHTML += '<tr bgcolor=#FFCCFF><td></td><td>Total Courses</td><td>' + max + '</td><td>Total Credits Remaining</td><td>'+ sum + '</td><td> Expected Graduation Date</td><td></td><td>' + lastrecord + '</td><td></td></tr> '; 
      </script> 

感謝 Niveditha

+1

通過不工作,你是什麼意思?控制檯中是否有任何錯誤? –

+3

...爲什麼腳本標記中有一個style屬性? – Tommy

+1

你是JS無效。首先用'

1

的問題是最有可能在最後一行:

document.getElementById('course_table').innerHTML += '<tr bgcolor=#FFCCFF><td></td><td>fsffd</td><td>' + max + '</td><td>abcdRemaining</td><td>'+ sum + '</td><td> abc</td><td></td><td>' + lastrecord + '</td><td></td></tr> '; 

IE不處理被添加tr小號串;除了它是非標準的。用此代替該行,它以編程方式構建該行並更快。我添加了相應的<td>作爲註釋。

var table = document.getElementById('course_table'); 
var row = table.insertRow(-1); 
row.style.backgroundColor = '#FFCCFF'; // `bgcolor` attribute is deprecated 

row.insertCell(-1); // <td></td> 
row.insertCell(-1).textContent = "fsffd"; // <td>fsffd</td> 
row.insertCell(-1).textContent = max; // <td>' + max + '</td> 
row.insertCell(-1).textContent = "abcdRemaining"; // <td>abcdRemaining</td> 
row.insertCell(-1).textContent = sum; // <td>' + sum + '</td> 
row.insertCell(-1).textContent = "abc"; // <td> abc</td> 
row.insertCell(-1); // <td></td> 
row.insertCell(-1).textContent = lastRecord; // <td>' + lastRecord + '</td> 
row.insertCell(-1); // <td></td> 

這裏最重要的方法是insertRowinsertCell,他們保證工作。 textContentinnerHTML更快更安全。請使用CSS代替已棄用的bgcolor屬性

相關問題