最近在開(kāi)發(fā)一個(gè)網(wǎng)站時(shí),遇到了一個(gè)問(wèn)題,就是IE瀏覽器不執(zhí)行jQuery的情況。在其他瀏覽器上都能正常運(yùn)行,但是在IE上一片空白,沒(méi)有任何響應(yīng)。經(jīng)過(guò)一番調(diào)試,最后找到了解決辦法。
原因是IE瀏覽器對(duì)于jQuery的選擇器有所不同,在IE8及以下版本中,只支持CSS1選擇器,而不支持CSS3選擇器。因此,如果使用了CSS3選擇器,IE瀏覽器會(huì)無(wú)法解析,從而導(dǎo)致jQuery無(wú)法執(zhí)行。
解決方法可以是手動(dòng)引入jQuery文件,并使用jQuery封裝的基礎(chǔ)選擇器,而不是使用CSS3特有的選擇器。比如,可以改寫(xiě)為:
$(document).ready(function () { $('ul li').click(function () { alert('Clicked!'); }); });
而不是:
$(document).ready(function () { $('ul >li').click(function () { alert('Clicked!'); }); });
這樣就可以在IE瀏覽器中正常執(zhí)行jQuery代碼了。同時(shí),也建議在編寫(xiě)代碼時(shí)養(yǎng)成好的習(xí)慣,避免使用CSS3選擇器,以免出現(xiàn)類(lèi)似的問(wèn)題。