CSS只获取文本

时间:2013-12-02 18:58:15

标签: html css

我正在尝试使用css选择器在元素中找到一些文本,但不包括元素的子元素。例如:

<div id="information">
 This is the text I need
 <div>I don't want this text</div>
 <span>I also don't want this</span>
</div>

有什么想法吗?

注意:我正在解析页面,所以我无法控制元素

3 个答案:

答案 0 :(得分:2)

显然不可能使用CSS选择器。有了XPath,如果有人有兴趣:

//div[@id='information']/text()

答案 1 :(得分:2)

所以你想要#information里面的松散文字,但是你不想要divspan?看起来很简单:

#information {
    /* property values */
}

#information > div {
    display: none; /* removes content of child div */
}

#information > span {
    display: none; /* removes content of child span */
}

我猜你甚至不必使用孩子(>)选择器。

答案 2 :(得分:1)

没有CSS选择器可以只选择元素的文本内容。这个想法没有什么不合逻辑的(CSS 可能有一个伪元素用于此目的),但目前在这些问题上没有规范甚至草案。

您可以做的是在元素上设置样式,然后在任何子元素上覆盖它们,可能使用匹配所有子元素的#information *选择器或匹配所有子元素的#information > *