Jquery IE8兼容性


環境: jsp+jquery-1.11.1.min.js

問題描述:

使用$("#article標簽id名").append(“xxxxxxxxx") ,chrome、firefox、ie10全部可以正常增加元素,唯獨ie8下顯示為空,調試無數次,才意識到IE9以下不支持HTML5標簽,以下是百度到的解決辦法,放在<head></head>里面即可。

這段代碼的意思是如果ie版本低於ie8,就創建所有HTML5新標簽。

 

<!--[if lt IE9]> 
<script> 
   (function() {
     if (! 
     /*@cc_on!@*/
     0) return;
     var e = "abbr, article, aside, audio, canvas, datalist, details, dialog, eventsource, figure, footer, header, hgroup, mark, menu, meter, nav, output, progress, section, time, video".split(', ');
     var i= e.length;
     while (i--){
         document.createElement(e[i])
     } 
})() 
</script>
<![endif]-->

 

這里是詳細說明:

http://www.cnblogs.com/Capricornus/archive/2013/03/26/2982122.html

 

實際使用的時候,目的是達到了,

但是ie任何版本瀏覽器頁面左上角會出現代碼<!--[if lt IE9]> <![endif]-->

汗。。。最后把<!--[if lt IE9]>改成<!--[if IE 8]>,才OK

 

 

調試的過程中,還碰到兩個問題,一起記錄一下

1.ie8不支持 $("title").html("xxxx") 的寫法,而且會直接報錯導致后面的js無法執行,

   改為document.title="xxxxx" 即可。

2.ie8下使用append()函數為在指定標簽末尾插入html字符串時,a標簽必須要有結束標簽

例如 $("#td1").html("<a href='#'>這是一個鏈接");

這種寫法在chrome、firefox、ie10都沒問題,可是在ie8下就不行,ie8會直接忽略掉沒有結尾的a標簽,所以必須寫成  $("#td1").html("<a href='#'>這是一個鏈接</a>");   這種規范的形式。

(一般人應該都不會忘記寫結束標簽,這是維護代碼的時候碰到的一個坑)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM