我有一個類和ID的數組,我試圖迭代並追加到這些元素。下面的代碼適用於除IE7及以下版本以外的所有瀏覽器。 IE7及以下版本會拋出異常,告訴我'length'爲空或未定義。現在一直在摔跤。有任何想法嗎?jquery,IE7和迭代
代碼是在這裏:http://gist.github.com/651456
我有一個類和ID的數組,我試圖迭代並追加到這些元素。下面的代碼適用於除IE7及以下版本以外的所有瀏覽器。 IE7及以下版本會拋出異常,告訴我'length'爲空或未定義。現在一直在摔跤。有任何想法嗎?jquery,IE7和迭代
代碼是在這裏:http://gist.github.com/651456
嘗試
$(element).size()
According to jQuery's API,.length
應該只是一樣.size()
,所以我不認爲這是個問題。我認爲問題可能在於如何使用jQuery.each()
方法。再次,according to the API,jQuery.each()
回調傳入兩個值:indexInArray
(您用作index
)和valueOfElement
(用作element
)。問題可能出在IE7無法將您的valueOfElement
變成jQuery對象,因此無法獲得它的.length
屬性。
我不熟悉Drupal的代碼,所以我沒有測試過這一點,但我覺得這行:
if ($(element).length) {
可以改寫爲這樣的:
if ($(element) && $(element).length) {
解決您的問題。
我很抱歉無法首先測試,但我希望它能正常工作。
.length是jQuery API的一部分。它返回jQuery對象中元素的數量,與.size()的值相同。請參閱:http://api.jquery.com/length/ – Fermin 2010-10-28 14:55:21
我的錯誤,我們的權利。 – 2010-10-28 15:17:10