2009-08-28 33 views
0

我目前正在編寫一個可選擇的過濾器,我有一些包含divs的表格單元格。jQuery的選擇器,找到它的元素,如果它有2件事

該divs有一個名爲start middle &的類結束。

基本上我想過濾掉包含div「middle」的表格單元格,或者包含「start」和「end」兩個字符。然而,如果單元格只包含「開始」或「結束」,那麼它應該仍然可以選擇。

我已經走到這一步,下面,

$("#someTable tbody tr").selectable({ 
    filter: 'td:not(td:has(div.middle), 
    td:has(div.start,div.end))', 
    }); 

但我無法弄清楚如何獲得線

td:has(div.start,div.end))' 

做div.start和div.end,因爲它匹配細胞,目前包含或...

任何幫助將不勝感激!

回答

3

要找到既具有.start和他們.end元素,你可以使用:

:has(div.start):has(div.end) 

總之,你可以這樣做:

$("#someTable tbody tr td").not(':has(div.start):has(div.end)').not(':has(div.middle)'); 
+1

不知道爲什麼會得到downvoted。您的解決方案完美運作+1 – peirix 2009-08-28 10:16:42

+1

這是完全沒有效率的方法。有兩個:已經會導致jQuery遍歷所有的元素兩次,並在大型的DOM這將是非常緩慢的,你應該做的就是把它合併成一個':has(div.start.end)'filter – RaYell 2009-08-28 10:20:04

+0

ahhh我只是需要鏈接他們......謝謝! – RYFN 2009-08-28 10:20:17

相關問題