環境: 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>"); 這種規范的形式。
(一般人應該都不會忘記寫結束標簽,這是維護代碼的時候碰到的一個坑)
