2011-06-01 58 views
1

考慮有一張表格,其中帶有行的表格(在DOM操作期間),jquery隨即添加類型的。後來當用戶提交這個表格(表格是表格的一部分)時,我想要搜索所有行的存在這個特定td。如果找到td,那麼函數應該返回false,否則返回true。但是這段代碼不起作用,有什麼建議?jQuery在每個表格行中搜索特定的td

function validate(){ 
$('form#newuser table tr').each(function(){ 
    if($(this).find('td.x')){ 
     return false; 
    } 
}); 
return true; 
} 
+1

這不工作的原因是'.find()'總是返回一個對象,即使它是空的。但是這兩者都不需要。 (不會發布答案,因爲答案很好,只是想解釋原因)。 – 2011-06-01 14:03:18

+0

TY的精度,這讓我困擾。 – 2011-06-01 14:13:21

回答

6
function validate() { 
    return ($('form#newuser table tr td.x').length == 0); 
}; 

$(<selector>).length返回由<selector>匹配的DOM元素的數量。

+0

作品謝謝你! – 2011-06-01 14:11:06

0

你可以忘記的每個循環,也和真的縮短這個了,因爲你的選擇會發現所有TR的(這是一個集)......

function validate(){ 
    if($('form#newuser table tr.x').length){ 
    return false; 
    } 

}); 
return true; 
} 

我還沒有測試這一點,但它應該工作。

0

試試這個代碼...

$('#YourFormName TABLE TBODY TR').each(function() 
{   
if $(this).children('td').hasClass('x') 
    { 
    return false; 
    } 
});