2010-10-28 54 views
0

我有一個類和ID的數組,我試圖迭代並追加到這些元素。下面的代碼適用於除IE7及以下版本以外的所有瀏覽器。 IE7及以下版本會拋出異常,告訴我'length'爲空或未定義。現在一直在摔跤。有任何想法嗎?jquery,IE7和迭代

代碼是在這裏:http://gist.github.com/651456

回答

0

嘗試

$(element).size() 
+0

.length是jQuery API的一部分。它返回jQuery對象中元素的數量,與.size()的值相同。請參閱:http://api.jquery.com/length/ – Fermin 2010-10-28 14:55:21

+0

我的錯誤,我們的權利。 – 2010-10-28 15:17:10

0

According to jQuery's API.length應該只是一樣.size(),所以我不認爲這是個問題。我認爲問題可能在於如何使用jQuery.each()方法。再次,according to the APIjQuery.each()回調傳入兩個值:indexInArray(您用作index)和valueOfElement(用作element)。問題可能出在IE7無法將您的valueOfElement變成jQuery對象,因此無法獲得它的.length屬性。

我不熟悉Drupal的代碼,所以我沒有測試過這一點,但我覺得這行:

if ($(element).length) { 

可以改寫爲這樣的:

if ($(element) && $(element).length) { 

解決您的問題。

我很抱歉無法首先測試,但我希望它能正常工作。