CSS仅获取文本[重复]

Posted

技术标签:

【中文标题】CSS仅获取文本[重复]【英文标题】:CSS only get text [duplicate] 【发布时间】:2013-12-18 14:25:48 【问题描述】:

我正在尝试使用 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>

有什么想法吗?

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

【问题讨论】:

这不能单独使用 CSS,抱歉。 ***.com/questions/1520429/css-3-content-selector 将文本放入SPAN并定位SPAN @Rob 如果你在解析一个页面,使用xpath,那么你可以得到文本。 @Rob 看到这个问题:***.com/questions/5033955/xpath-select-text-node 知道了。只需要使用文本()。谢谢大家! 【参考方案1】:

所以您想要#information 中的松散文本,但您不想要divspan?看起来很简单:

#information 
    /* property values */


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


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

我猜你甚至不必使用子 (&gt;) 选择器。

【讨论】:

我不认为这“给”你那个内容......我的意思是它不会选择或存储它,以便你可以用它做一些事情。我认为这就是 OP 想要的……我可能是错的。杰斯,你知道怎么做吗?我想自己知道。【参考方案2】:

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

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

【讨论】:

【参考方案3】:

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

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

【讨论】:

以上是关于CSS仅获取文本[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何仅抓取多个div中的文本内容[重复]

仅CSS框阴影底部[重复]

仅使用 flexbox CSS 的水平砌体布局[重复]

CSS媒体查询仅针对iOS设备[重复]

仅使用 css 修复内部 div [重复]

仅 CSS 图像不透明度 [重复]