0
我正在精簡大量的jQuery代碼,我想要做的第一件事是全局設置函數,以便它們可以跨範圍使用和重用。一個功能是相等的高度設置爲元素,以最高的元素:jQuery函數不會全局讀取屬性
function setEqHeight(cont, classname) {
var maxHeight = 0;
$(cont).each(function(){
var prodName = $(classname,this);
$(prodName).each(function(){ if ($(this).height() > maxHeight) { maxHeight = $(this).height(); } });
$(prodName).height(maxHeight);
});
}
而且我運行它像這樣
setEqHeight('.containername','.classname');
這個工作,只要我打電話內外$j(document).ready(function($) { });
但我想要在全局範圍內設置該功能,在文檔之外準備好,並調用裏面的功能。
當我將函數設置在文檔就緒範圍之外並在範圍內調用它時,出現Uncaught TypeError: Cannot read property 'each' of null
錯誤。就像它無法再讀取'containername'一樣。我很困惑,我做錯了什麼?編號:jsFiddle here。它確實在那裏正常工作,這引出了爲什麼它不在生產環境中的問題
請問你可以做一個jsfiddle ..你的代碼沒有問題,它應該像你說的那樣正常工作 –
你在傳遞什麼.containername是div或table的名字? – jANVI
jsFiddle加入;它確實在那裏工作.. –