2014-05-08 18 views
0

我使用函數來一類添加到TD-元件用於懸停效果的特殊類元素:排除來自jQuery函數

$("#document-table tr").hover(function() { 
    if $('tr:has(td.nodrag)'){ 
    return false; 
    } else { 
    $(this.cells[0]).addClass('showDragHandle'); 
}, function() { 
    $(this.cells[0]).removeClass('showDragHandle'); 
}); 

});

舉例TR

<tr class="nodrag"></tr> 

現在,我要排除與類nodrag所有TR。實際上,它會拋出一個錯誤:意外的標識符

什麼問題?謝謝你在前進

回答

0

你可以在TR上使用:not選擇。

$('#document-table tr:not(".nodrag")').hover(function() { 
    $(this.cells[0]).addClass('drag'); 
    }, 
    function(){$(this.cells[0]).removeClass('drag');} 
); 

看到jsFiddle

1

您可以在jQuery對象上做到這一點:

.not('tr.nodrag') 

或:

.filter(':not(tr.nodrag)') 
0

你可以使用:hover psudo級的CSS這樣做沒有任何JavaScript代碼要求

0

您也可以使用.hasClass()方法檢查。這會降低你的boild if語句是這樣的:

if ($("tr").hasClass("nodrag")) { ... }