2010-09-28 22 views
0

我期待創造一片jQuery的邏輯,回答:如何找到,如果表細胞不含有XX

是否有不包含任何表細胞「」或「XX」和沒有階級「YY」

這是我的工作 - 但它似乎真的很亂?:

$('td').filter(function(index) { 
      return !$(this).hasClass('yy') && 
        !($(this).html().trim() == '' || $(this).html().trim() == ''); 
     }) 

回答

5

您可以使用:not(),例如:

$('td:not(.yy):not(:contains(xx)):not(:empty)') 

此檢查是做:not()細胞具有.yy類,做:not()含有 「XX」,並:not():empty

如果需要修剪,我離開.filter(),例如:

$('td:not(.yy)').filter(function() { 
    var thtml = $.trim(this.innerHTML); 
    return thtml != '' && thtml != 'xx'; 
}); 

注意我使用$.trim(),因爲不是所有的瀏覽器都支持String.trim()