2017-04-22 210 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