2014-09-29 53 views
1

我正在使用jQuery來驗證表單,在提交時我想滾動到我設置的類.inputError的第一個實例這樣的:jQuery:第一個和.first()在Chrome/Safari和FireFox/IE8中的行爲不同

$('#form').submit(function(e) { 
    e.preventDefault(); 
    $('input').each(function(){ 
     inputCheck.call(this); 
    }); 
    errors = $('input.inputError').length; 
    if (errors > 0) { 
     $('body').scrollTop($('.inputError').first().offset().top-30); 
    } else { 
     submitForm(); 
    } 
}); 

此作品在Chrome/Safari的罰款,但在Firefox和IE8不言而喻類.inputError而不是第一的最後實例。我曾嘗試使用$('.inputError:first).first()都產生相同的結果。

任何想法?

+0

我的第一個猜測是畸形的HTML。如果你錯過了一些關閉標籤(以我的經驗),那麼瀏覽器行爲不同的最可能原因。 – vrijdenker 2014-09-29 19:51:57

+2

嘗試使用'$('body,html')。scrollTop(...' – adeneo 2014-09-29 19:53:00

+0

@ adeneo謝謝你的建議,這個技巧!如果你想添加你的評論作爲答案,我會很樂意接受。再次感謝! – user13286 2014-09-29 19:54:22

回答

相關問題