2017-04-22 191 views
-1

我有以下條件:長度條件被忽略

if ($('div.table-wrap tr td.foo-row').length != 0) { 

// do soemthing 
} 

它工作時,我的表看起來像這樣:

 <tr> 
     <td class="foo-row"></td> 
     <td class="foo-row">></td> 
     <td class="foo-row"></td> 
     <td class="foo-row"></td> 
     </tr> 

但是,當它看起來像這樣它不會:

 <tr> 
     <td class="foo-row"></td> 
     <td class="foo-row2"></td> 
     <td class="foo-row2"></td> 
     <td class="foo-row3"></td> 
     <td class="foo-row2"></td> 
     </tr> 

我的目的是,即使至少一個TD有類foo-row,病情會工作,這^ h在兩種情況下都會出現,所以爲什麼它在第一種情況下不起作用?

+0

您是否檢查過$'('div.table-wrap tr td.foo-row')'返回的內容? – Carcigenicate

+0

沒有理由它不應該工作....假設你運行該代碼時行存在。提供一個[mcve] – charlietfl

+0

我不知道該怎麼做,有人爲我製作了這段代碼:) – Bucky

回答

0

這與foo-row類的電池完全匹配$('div.table-wrap tr td.foo-row')

如何爲任何.foo-row*使用通配符選擇器。

例子:

if ($('div.table-wrap tr td[class*="foo-row"]').length != 0) { 
    // do soemthing 
} 

你可以把它不含而是通過更換td[class*="foo-row"]td[class^="foo-row"]foo-row啓動類更具體。

+0

這並不能解釋爲什麼顯示的代碼不起作用 – charlietfl

+0

@charlietfl很難解釋確切的問題。 –

+0

以及我不明白如何提供解決方案來做不同的事情有所幫助 – charlietfl