最内层TABLE的CSS选择器?

时间:2010-03-05 07:39:54

标签: javascript jquery css jquery-selectors

有没有办法只选择最里面的表?那些内部不再包含任何表格的那些?

我知道我可以按element.getElementsByTagName("table").length == 0过滤,我只是想知道是否有更优雅的解决方案。

4 个答案:

答案 0 :(得分:12)

使用纯CSS,你无法做到这一点。使用jQuery(您的问题标记为),您可以:

$("table:not(:has(table))")...

将选择没有子表的表。

:has()选择器查找具有特定后代的元素元素。 :not()将选择反转为那些没有特定后代的选择。

答案 1 :(得分:2)

对于那些在nokogiri中使用CSS选择器的人,:has()可能会被破坏,因此:not(:has(...))将无效。您需要使用xpath或其他方式。请参阅:has CSS pseudo class in Nokogiri

答案 2 :(得分:0)

据我所知,没有适合您需要的CSS选择器。但是,有几种选择:

  1. 使用类或ID标记表格,以便您可以选择它。
  2. 使用javascript导航DOM树。
  3. 使用javascript库选择元素。当您使用jQuery标记标记OP时,我建议您继续使用。

答案 3 :(得分:0)

您是否有机会在表格中添加class="innermost"属性?这样,它只是更简单。