用于按属性状态排除的 CSS 选择器



我正在解析的文档具有以下两种样式的td标签(以及td标签的其他实例):

<td align="right" nowrap bgcolor="#A1C87A">...</td>
<td align="right" nowrap>...</td>

如何编写仅选择第二种类型的选择器,并排除所有其他td标签?

document.css('td:not([bgcolor="#A1C87A"])')

不包括第一种类型,包括第二种类型以及所有其他td标记。

document.css('td[align="right"][nowrap]')

排除所有其他td标记,但包括上述两种类型。

您可以简单地将:not选择器与其他属性选择器组合在一起:

document.css('td:not([bgcolor="#A1C87A"])[align="right"][nowrap]')

您甚至可以将:not放在其他之后(它不需要紧挨着元素名称):

document.css('td[align="right"][nowrap]:not([bgcolor="#A1C87A"])')

这些都将选择所有具有bgcolor="#A1C87A"nowrap但没有align="right"td元素,这就是您所追求的。

td:not([align="right"][nowrap][bgcolor])应该足以满足你想要的

td[nowrap][bgcolor] ~ td[nowrap] { code };

相关内容

  • 没有找到相关文章

最新更新