2011-05-10 32 views
0

我有一些jQuery的問題,併發布有關它here。在遵循了一些建議之後,我能夠找出問題 - IE8不喜歡變量名new_email。事實上,調試者一直告訴我這個問題出現在該行的第4個字符處,但我不能相信它是變量名,所以我一直在尋找其他問題。在IE8中,有沒有關於jquery變量名下劃線的任何文檔?

在終於讓變量名稱更改爲newEmail後,IE8不再發生變化 - 代碼按預期工作,沒有錯誤。

我一直無法找到任何文檔,指出你不能在jQuery變量名中使用下劃線,事實上,代碼在其他瀏覽器中正確使用下劃線。這在IE8中是不成文的規則嗎?這是真正的jQuery開發人員才知道的嗎?我很擔心,如果這是真的,因爲我繼承了這個代碼,而且這個應用程序非常龐大 - 我知道在各個地方有幾十個變量都有下劃線。

+0

你能過去最小的示例代碼嗎? – 2011-05-10 16:43:20

+0

你的核心假設是不正確的 - 在任何瀏覽器的變量名中使用下劃線絕對沒有限制。正如下面提到的,沒有「jQuery變量」這樣的東西 - jQuery是javascript,你在jQuery中使用的變量是javascript變量。 – 2011-05-10 17:10:24

+0

在dom中你的代碼被放置在哪裏,頁面中是否有表單,我們可以看到html嗎? – mcgrailm 2011-05-11 12:26:05

回答

2

這實際上是一個JavaScript變量,而不是一個jQuery變量,這是一個重要的區別,而在Javascript中,下劃線是變量名稱的有效字符。你一定已經改變了其他無關的東西。

是否有可能變量名已被分配到別處?還請注意,您沒有使用var關鍵字,這可能會導致範圍的進一步問題。

如果您想獲得更多幫助,您可以隨時發佈jsfiddle.net示例。

+0

+1 js小提琴會很棒! – mcgrailm 2011-05-10 16:58:04

+0

我不完全確定如何發佈它,因爲它是一個巨大的Drupal站點的一部分。有沒有簡單的方法來拉出可能影響到這一點的各種代碼。但是,不,我沒有改變別的東西 - 我唯一改變的是變量名。 – EmmyS 2011-05-10 17:17:13

+0

檢查'mcgrailm'給出的例子我已經在IE7/8/9中測試過了,它們似乎都工作正常。 – HurnsMobile 2011-05-10 17:20:47

相關問題