IE6-9中tbody.innerHTML不能賦值問題;SCRIPT600:該操作的目標元件無效

IE6-IE9中tbody的innerHTML不能賦值.

獲取時所有瀏覽器都彈出了tr的字符串,但設置時IE6-9不支持,而且報錯,如圖

這裏寫圖片描述

解決方案:

1. 可以換個添加屬性,如:appendChild,

         tbody.appendChild = "<tr></tr>"

2. 添加判斷

          var s = navigator.userAgent.toLowerCase();
          var BrowserInfo = {
                IsIE: /*@cc_on!@*/false,
                IsIE9Under: /*@cc_on!@*/false && (parseInt(s.match(/msie (\d+)/)[1], 10) <= 9),
            };

    if( BrowserInfo.IsIE9Under  ){
        tbody.appendChild = "<tr></tr>";
    }else{
        tbody.innerHTML = "<tr></tr>";
    }


3. 包裝整個table

        var table = "<table><tbody><tr></tr></tbody></table>"   
         div.innterHTML = table;
       將最外層table也納入到字符串中,使用div.innerHTML
發佈了31 篇原創文章 · 獲贊 20 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章