CSS只获取文本

13 浏览
0 Comments

CSS只获取文本

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

 这是我需要的文本
 我不想要这段文本
 我也不想要这段文本

\n有什么建议吗?\n注意:我正在解析一个页面,所以对元素没有控制权。

0
0 Comments

无法使用CSS选择器仅选择元素的文本内容。虽然这个想法并不违反逻辑(CSS可以为此目的添加伪元素),但目前没有相关规范或草案。

解决方法是在一个元素上设置样式,然后在任何子元素上覆盖这些样式,可能使用像#information *这样匹配所有后代元素的选择器,或者使用#information > *这样匹配所有子元素的选择器。

0
0 Comments

问题的出现原因是希望获取#information内部的纯文本内容,而不包括divspan。解决方法如下:

#information {
    /* 设置属性值 */
}
#information > div {
    display: none; /* 移除子元素div的内容 */
}
#information > span {
    display: none; /* 移除子元素span的内容 */
}

可能并不需要使用子元素选择器(>)。但我认为这并没有真正"获取"内容,也就是说它并没有选择或存储内容,以便进行其他操作。我认为这正是问题的提问者想要的,如果我理解错误请指正。Jace,你有没有办法实现这个功能?我也想知道。

0
0 Comments

问题:CSS只能获取文本内容的原因及解决方法

CSS在选择器中只能获取元素的属性值,无法直接获取元素的文本内容。因此,无法使用纯CSS来获取文本内容,但可以使用XPath来实现。

解决方法:

1. 使用XPath来获取文本内容。XPath是一种用于在XML和HTML文档中进行导航和查询的语言。通过使用XPath表达式,可以精确地选择并获取所需的文本内容。在上述示例中,XPath表达式“//div[='information']/text()”可以选择class属性为“information”的div元素中的文本内容。

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

2. 使用JavaScript来获取文本内容。如果需要通过纯CSS来实现,可以借助JavaScript来获取元素的文本内容。通过使用JavaScript的innerText或textContent属性,可以获取元素的文本内容。以下是一个示例代码:

var element = document.querySelector('.information');

var text = element.innerText || element.textContent;

通过上述方法,可以在不使用XPath的情况下,通过CSS或JavaScript来获取元素的文本内容。

0