Jquery包含和不包含链接



图像我有这样的表:

<table>
    <tr>
        <td>Adresse IP</td>
        <td class='tdSoap'>10.2.3.4</td>
    </tr>
    <tr>
        <td>Zobi</td>
        <td class='tdSoap'>blabla</td>
    </tr>
    <tr>
        <td>Adresse</td>
        <td class='tdSoap'>NYC</td>
    </tr>
</table>

我想通过选择TR获得"NYC"值,该TR有一个带"Adresse"的TD,但没有带"Adesse IP"。

我已经用这个代码做了我想做的事:

$("table tr:has(td:contains('Adresse'))").not(":contains(Adresseu00a0IP)").find("td.tdSoap").text();

但是,我尝试了很多这种代码,但从未成功:

$("table tr:has(td:contains('Adresse'):not(':contains(Adresseu00a0IP)')) td.tdSoap").text();

PS:"\u00a"就是因为http://bugs.jquery.com/ticket/3450

也许这是:

$("table tr td:contains('Adresse')").not(':contains(Adresseu00a0IP)').next('.tdSoap').text();

为什么这不起作用:(你有什么)

$("table tr:has(td:contains('Adresse'):not(':contains(Adresseu00a0IP)')) td.tdSoap").text();

jQuery在选择器中使用了从右到左的方式,所以可以这样想:

  1. 查找所有td.tdSoap
  2. 现在找到那些没有任何"Adresse\u00a0IP"的-好吧,没有一个在td.tdSoap中做
  3. 现在找到那些有"Adresse"的——好吧,没有一个在td.tdSoap中有
  4. 现在,将它们组合在一起-仍然没有在td.tdSoap内部,因此没有选择任何内容

现在,这也可以去掉"has"并添加下一个:

$("table tr td:contains('Adresse'):not(':contains(Adresseu00a0IP)')").next("td.tdSoap").addClass('myfirst');

然而,运行一些性能指标,看看其中哪一个更快:

$('table').find('tr').find('td:contains("Adresse")').not(':contains("Adresseu00a0IP")').next('.tdSoap').text();
$('table').find('.tdSoap').prev(':contains(Adresse)').not(':contains(Adresseu00a0IP)').next().text();
$("table tr td:contains('Adresse'):not(':contains(Adresseu00a0IP)')").next('td.tdSoap').text();
$("table tr:has(td:contains('Adresse'))").not(":contains(Adresseu00a0IP)").find("td.tdSoap").text();
$("table tr td:contains('Adresse')").not(':contains(Adresseu00a0IP)').next('.tdSoap').text();

注意:如果你有更多的"组",这些会得到所有的文本,不确定你想要所有的,但这就是你所拥有的。

编辑:无论是否使用&nbsp

$('table').find('tr').find('td:contains("Adresse")').not(':contains("Adresseu00a0IP")').not(':contains("Adresse IP")').next('.tdSoap').text();

如果你不能修改HTML,那么这就可以了:

$('table tr:has(td:contains("Adresse"):not(:contains("Adresse IP"))) td.tdSoap').text()

否则,我建议试试马哈茂德在评论中说的话,并给它一些具体的选择。

相关内容

  • 没有找到相关文章

最新更新