關於使用jquery時,ie8下提示對象不支援的屬性或方法的解決辦法

來源:互聯網
上載者:User

標籤:style   http   color   com   strong   使用   

轉自:http://wapapp.baidu.com/auoong/item/538790fcbe87c834d7ff8cde

首先這個問題的前提是已經排除了常見的這個問題。下面說一種今天我碰到的一種情況。

瀏覽器報的錯誤:

1、在xp/win7系統下安裝的是ie8的報的錯誤是:對象不支援此屬性與方法。

2、在win8下報的錯誤是:對象不支援“toLowerCase”屬性或方法,即使是調整成ie8模式也是這個錯誤。

出錯的程式碼片段為jquery的原始碼,如下:

var b=a.nodeName&&p.noData[a.nodeName.toLowerCase()];

進一步確認問題,將a.nodeName添加到監視器,如果你看到它的類型為DispHTMLInputElement,那麼你的這個錯誤與我碰到的應該就是一樣的了。

解決辦法:

搜尋網頁面中是否有叫nodeName的元素,如果有改名之,問題就出在這個叫nodeName的元素,因為在代碼中這個a,在ie開發人員工具中我們可以通過a === window來測試,發現這個a就是window,因此a.nodeName在ie下就會指向頁面中id=nodeName的元素,而此時我們頁面中正好有這個元素。這樣一來也就可以說明了為什麼會報對象不支援toLowerCase屬性或方法了。

讀者:

個人測試a.nodeName時一直報道a未定義,當時報錯位置和內容是一樣的,所以把該頁面的nodeName改了個名字就ok了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.