【问题标题】:Can I select a DOM element based on an HTML comment it contains?我可以根据它包含的 HTML 注释来选择一个 DOM 元素吗?
【发布时间】:2014-05-18 23:12:35
【问题描述】:

使用 CSS3 或 XPath 表达式,我想知道是否有办法选择包含特定 HTML 注释的元素。

例如:

<table>…</table>
<table> <!--this one --> …</table>

如何在不使用任何其他属性的情况下选择第二个table? (它可能并不总是第二张桌子)

【问题讨论】:

  • 使用 JavaScript,是的,但我不确定是否使用 xpath。

标签: html dom xpath css-selectors


【解决方案1】:

对于 XPath,这可以使用 comment() 节点测试来完成:

//table[.//comment()[contains(., 'this one')]]

这会选择所有包含注释(任意深度)的table 元素,其中包含文本'this one'

我很确定这在 CSS 中是不可能的。

【讨论】:

  • 确实令人印象深刻且有用。谢谢!
  • 大多数在线 xpath 测试人员都想要格式正确的 xml,但 this one 适用于测试无法通过严格的 xml 检查的 html,例如这个。
  • XPath 从来没有用于匹配 HTML,我相信,只有 XML。这就是为什么支持标签汤的在线测试人员如此之少的原因,即使那里有使用 XPath 和 HTML DOM 的库 @Henry
  • 是的,这在 CSS 中是不可能的,因为 CSS 看不到注释节点。
猜你喜欢
  • 1970-01-01
  • 2022-12-13
  • 1970-01-01
  • 2018-08-14
  • 2018-06-17
  • 1970-01-01
  • 1970-01-01
  • 2013-05-03
  • 1970-01-01
相关资源
最近更新 更多