1. 程式人生 > >IE瀏覽器 對 jquery版本的相容性 支援

IE瀏覽器 對 jquery版本的相容性 支援

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支援的差異性。以及其他可能影響頁面佈局效果和功能的相關因素。