IE瀏覽器 對 jquery版本的相容性 支援
阿新 • • 發佈:2019-01-03
IE瀏覽器存在多種相容問題
掌握技巧,不再害怕
IE瀏覽器 對 jquery版本的相容性
注意:
ie9 / ie8 / ie7 …版本的IE瀏覽器,不相容jquery中的部分屬性方法;
以 jquery.1.7.2版本為例:
問題描述,示圖如下:
程式碼塊簡略,示圖如下:
html檔案,部分程式碼如下:
...部分省略...
<script src='js/jquery-1.7.2.js'></script>
<body>
...部分省略...
<div class="bottom_box ">
<ul class="ul_">
<li onclick="collection()" id="collection_li"><a href="JavaScript:;" id="collectText">收藏</a></li>
<li onclick="nextPage('up')" ><a href="JavaScript:;" >上一題</a></li>
<li onclick=" nextPage('next')"><a href="JavaScript:;" >下一題</a></li>
<li><a ><span id="nowQuestionNum">1</span>/<span id="qtNum" name="qtNum">100</span></a></li>
</ul>
<div class="block_" onclick="subTest()"><a href=" JavaScript:;" > 交 卷 </a></div>
</div>
...部分省略...
</body>
<script>
...部分省略...
//顯示當前題目
function showMenu() {
var currentPage=$("#currentPage").val();
var arrs = document.getElementsByName("dl_div");
alert(arrs.length);
for(var i=0;i<arrs.length;i++){
if (arrs[i].id=="dl_"+currentPage) {
$("#dl_"+currentPage).show();
//alert("testshow");
} else {
$("#"+arrs[i].id).hide();
//alert("testhide");
}
}
//changeCollect();
getCollection();
}
//上一題/下一題
function nextPage(data){
var qtNum=$("#qtNum").text();
var currentPage=$("#currentPage").val();
var nowQuestionNum =$("#nowQuestionNum").text();
var id=$("#ID_"+nowQuestionNum).val();
var QUESTIONCLASS= $("#QUESTIONCLASS_"+id).val();
var TRUEANSWER=$("#TRUEANSWER_"+id).val();
if(QUESTIONCLASS =='questionType_moreChoose'){
var str="";
$("input[name='moreAnswer_"+id+"']:checkbox").each(function(){
if($(this).attr("checked")){
str += $(this).val()+","
}
})
if(str == ''){
if(confirm("該題您還沒有選擇答案,確定要前往下一題嗎?")){
}else{
return;
}
}else{
subMoreChooseAnswer(id,TRUEANSWER);
}
}
if(data=='up'){
if(eval(currentPage)<=1){
alert("已是第一題!");
return;
}
currentPage=eval(currentPage)-1;
}if(data=='next'){
if(eval(currentPage)>=eval(qtNum)){
alert("已是最後一題!");
return;
}
currentPage=eval(currentPage)+1;
}
$("#currentPage").val(currentPage);
$("#nowQuestionNum").text(currentPage);
showMenu();
}
//題目跳轉
function toQuestion(data){
var nowQuestionNum =$("#nowQuestionNum").text();
var id=$("#ID_"+nowQuestionNum).val();
var QUESTIONCLASS= $("#QUESTIONCLASS_"+id).val();
var TRUEANSWER=$("#TRUEANSWER_"+id).val();
if(QUESTIONCLASS =='questionType_moreChoose'){
var str="";
$("input[name='moreAnswer_"+id+"']:checkbox").each(function(){
if($(this).attr("checked")){
str += $(this).val()+","
}
})
if(str == ''){
if(confirm("該題您還沒有選擇答案,確定要前往其他題嗎?")){
}else{
return;
}
}else{
subMoreChooseAnswer(id, TRUEANSWER);
}
}
$("#currentPage").val(data);
$("#nowQuestionNum").text(data);
showMenu();
}
...部分省略...
</script>
注意:
比如上面出現的抓取name=”“的選擇器使用失效的問題。
根據上面的程式碼提示:發現在ie9 、ie8、 ie7低版本的IE瀏覽器模式下,均會出現不同程度的jquery失效問題,從一定程度上反應了jquery與瀏覽器的部分不相容問題。
基本上在達到ie10,及其以上版本的ie瀏覽器或ie核心瀏覽器才會對jquery有較為全面和完整的支援性。
除了ie版本的問題?還有jquery版本問題?網頁快取?程式碼邏輯錯誤?也都說不定呢!
具體問題現象,具體分析;
本文不提供具體解決辦法;
謹以此文,表明不同版本的ie瀏覽器對於jquery支援的差異性。以及其他可能影響頁面佈局效果和功能的相關因素。