2011-08-02 35 views
2

我和JQuery的錯誤上的第一行:錯誤使用jQuery上線3539與IE

$('select#operation option:selected').each(function() { 
     parent_value = $(this).val(); 
    }); 

我用線3539 /jquery-1.5.1.js得到了一個其他錯誤:

 if ((match = Expr.leftMatch[ type ].exec(expr)) != null && match[2]) { 

我在FF,Chrome和Safari上工作的一切,但我在IE上遇到錯誤。

的錯誤是:

+0

我的魔球今天不工作......你的瀏覽器給你什麼錯誤?您可能會發現問題實際上是在瀏覽器提供給您的行之前/之後發起的行;所以包括這些也可能有所幫助。 – Matt

+0

奇數。你有沒有嘗試過使用最新版本的jQuery? – lonesomeday

+0

@Matt:對不起你的魔球:-)錯誤是:對象不支持這個屬性或方法... –

回答

5

Sizzle(中庫jQuery使用幕後選擇元素),does not function well如果您將自己的方法添加到Object.prototype;從你的earlier question today,你正在做!

正如我在以前的問題發表意見的,將成員添加到Object.prototype高度皺眉....現在你可以看到爲什麼:)。不要將方法添加到Objectprototype,而只需將它們定義爲函數。

+0

但是對於大型項目,您可能需要向Object.prototype添加成員,並且不要在文檔中說錯誤的位置。那麼爲什麼腳本會因此而崩潰。 – JohnMerlino

+0

@JohnMerlino:參見http://stackoverflow.com/a/3833445/444991。這不是**錯誤**;語言*讓*你做到。強烈建議你不要這樣做。你不應該修改你不屬於的對象。如果您正在開發一個大型項目,請定義您自己的名稱空間,併爲其添加方法,而不是Object.prototype。想象一下,如果你在你的大項目中使用了幾個庫,如果其中一個也使用了'Object.prototype',並添加了一個名稱相同(但功能不同)的方法,那麼會發生什麼?其中一個實現現在將打破! – Matt

+0

哇,這是非常有用的,我從來沒有想過,這可能會導致這樣的錯誤。 – gsanta

0

不直接回答「對象不此屬性或方法支持」你的問題,但我想你會更好這樣做:

parent_value = $('#operation').val();