我正在解析的文档具有以下两种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
代码,但包括上述两种类型。
答案 0 :(得分:9)
您可以简单地将:not
选择器与其他属性选择器结合使用:
document.css('td:not([bgcolor="#A1C87A"])[align="right"][nowrap]')
你甚至可以将:not
放在其他人之后(它不需要在元素名称旁边):
document.css('td[align="right"][nowrap]:not([bgcolor="#A1C87A"])')
这些元素都会选择td
和bgcolor="#A1C87A"
但没有nowrap
的所有align="right"
元素,这就是您所追求的。
答案 1 :(得分:0)
td:not([align="right"][nowrap][bgcolor])
应该足以满足您的需求
答案 2 :(得分:0)
td[nowrap][bgcolor] ~ td[nowrap] { code };