2

我有以下html:

<td>
<div>
Text I Want<span class="note-comment">Text I Do Not Want</span>
</div>
</td>

此 HTML 不是我的,因此无法更改。是的,我知道将“我想要的文本”包装在一个跨度中是理想的,但它不是我的。

使用 CSS 选择器,我需要获得“我想要的文本”,而无需选择 span 节点。我已经尝试过:first-child,但没有成功。

如果绝对不可能使用 CSS 选择器,有没有办法使用 XPath(text()我假设使用)来做到这一点?

4

2 回答 2

2

使用 CSS 选择器是绝对不可能的。CSS 选择器很少选择文本(例外是::first-line::first-letter伪元素)。

为什么不选择<div>并得到它firstChild?无论如何,XPath 将类似于//td/div/text()[1].

于 2013-09-26T01:27:45.573 回答
0

在 css 中是不可能的,但在程序中很容易。

比如在javascript中:

text.split('<')[0]

于 2013-09-26T01:54:49.723 回答