2014-10-07 43 views
0

我有一個奇怪的問題。我正在使用Parallels在Windows 7上測試IE 9中的一個站點。jQuery在IE9中返回0輸入

我的設置是jQuery 2.1.1,Bootstrap 3.2。

我正在驗證一個Parsley的表單,如果在Chrome中運行得很好,但在IE中什麼也沒做。進一步測試時,我意識到DOM甚至沒有更新。所以我剝奪它下降到只有這個,看看發生了什麼事:

$(document).ready(function() 
{ 
    console.log('ready') 
    /* 
     The form submit handler 
    */ 
    $('.submit').click(function(){ 
     fields = $('#promo-form').find(':input'); 
     console.log($(fields).length) 
    }); 
}); 

Chrome Console: 
ready 
15 


IE 9 Console (with F12 Developer Tools) 
LOG: ready 
LOG: 0 

我可以得到IE認識一些簡單的選擇像$(「輸入」),$(「形式」),但不能使用jQuery方法找到一個集合。在Mac上的所有工作都很好。

這裏的任何想法? 謝謝 豐富

+0

嘗試使用jQuery 1.11,它對IE更好。 – Teemu 2014-10-07 17:38:46

+0

在版本2之前,我使用了1.11,它給了我相同的問題。 – 2014-10-07 17:39:44

+0

@ b1j在這種情況下,他只能選擇輸入元素,「:input」選擇器包括textareas,select和buttons。 – HaSuKrOnOs 2014-10-07 17:43:29

回答

-1

你試過: http://jsfiddle.net/dhyjwg4L/

在IE 10月11日剛剛測試過,沒有一個IE9的機器手。

$(document).ready(function() { 
    alert($("#promo-form :input").length); 
}); 

如果您不希望textareas/buttons在輸入之前刪除:它們不會被計數。

$('#promo-form').find(':input'); 
//Combine the selector to make 
$("#promo-form :input") 

更新:現在已經在IE 8-11上測試過了,並且正在對它們進行測試。

+0

反對票的原因將不勝感激。 – 2014-10-07 18:27:20

+0

雖然我沒有投票,但我不確定發生了什麼。也許這是IE的系統或特定版本這就是問題所在。我通過Mac上的Parallels運行它,因爲我沒有Windows。 – 2014-10-07 18:42:10

+0

上述選擇器是否適合您Richard?而不是使用.find添加:輸入到您的選擇器。 – 2014-10-07 18:42:57