2013-08-19 31 views
0

我想確定頁面上的任何表格行(包括AJAXed內容)是否具有「透支」類,如果頁面上有ANY,隱藏某個按鈕。這是我正在使用的代碼,但它不起作用。我不知道我使用的代碼是否考慮了動態數據,或者它只在頁面加載時運行。試圖隱藏提交如果透支

(function() { 
    if($('tr').hasClass('overdraft'){ $('#btnSAMSubmit').hide(); } // end if 
})(); 
+1

此外,你可以考慮棉短絨,如[JS林特(http://www.jslint.com /) – Richard

+0

您可能想考慮禁用該按鈕而不是隱藏它。當按鈕出現或消失時,這樣可以防止佈局發生變化,而禁用的按鈕更清楚地表明「您無法提交此表單」,而不是丟失按鈕。 –

+0

此外,如果沒有此代碼所處的上下文,我們無法回答這是動態執行還是僅在頁面加載時執行。 '(function(){...})();'東西只是一個範圍包裝;裏面的代碼立即在其上下文中執行。順便說一句,通常我看到這種封裝用於模塊,並與jQuery用戶我看到的形式'(函數($){...})(jQuery);''讓包裝的代碼使用'$' 'jQuery'即使'$'被重新定義爲封閉網頁中的其他內容。 –

回答

2
if($('.overdraft').length > 0) { 
    $('#btnSAMSubmit').hide(); 
} 
+0

更簡潔!謝謝! – jgravois

4

乍一看,你錯過了一個)

if($('tr').hasClass('overdraft')) // <-- This last) is missed on your code 
{ 
    $('#btnSAMSubmit').hide(); 
} 
+0

你的第一個網站比我的第2,181網站好。我會在11分鐘內接受答覆。 – jgravois