【发布时间】:2015-09-25 08:56:41
【问题描述】:
标题可能有点混乱,但这是我能想到的最好的。
我需要找到所有 tr 元素,其中包含与提供的过滤条件匹配的 td 元素。
这是我的示例,
<tr class="row" id="1">
<td class="philips">PHILIPS</td>
<td class="h4">H4</td>
<td class="lamp">Lamp<td>
</tr>
<tr class="row" id="2">
<td class="philips">PHILIPS</td>
<td class="h5">H5</td>
<td class="bulb">Bulb<td>
</tr>
<tr class="row" id="3">
<td class="neglin">NEGLIN</td>
<td class="w5w">W5W</td>
<td class="tube">Tube<td>
</tr>
<tr class="row" id="4">
<td class="philips">PHILIPS</td>
<td class="h4">H4</td>
<td class="bulb">Bulb<td>
</tr>
<tr class="row" id="5">
<td class="osram">OSRAM</td>
<td class="hb3">HB3</td>
<td class="tube">Tube<td>
</tr>
<tr class="row" id="6">
<td class="neglin">NEGLIN</td>
<td class="w5w">W5W</td>
<td class="lamp">Lamp<td>
</tr>
如果我将 filter[0] 传递为 'phillips',则结果返回带有 id 的 tr
- 1
- 2 和
- 4
如果我通过第二个过滤器; filter[1] 为 'h4',结果应过滤到
- 1 和
- 4
我试过this question。
其中有this answer。
$('tr')
.has('td:nth-child(1):contains("Audi")')
.has('td:nth-child(2):contains("red")')
.doSomeThing();
但是,我希望动态应用我的过滤器。我怎样才能插入第三个has 函数?
我不想走if-else 或switch-case 的方式,如果没有他们的话。
【问题讨论】:
标签: javascript jquery html