CSS只获取文本
问题的出现原因是希望获取#information
内部的纯文本内容,而不包括div
和span
。解决方法如下:
#information { /* 设置属性值 */ } #information > div { display: none; /* 移除子元素div的内容 */ } #information > span { display: none; /* 移除子元素span的内容 */ }
可能并不需要使用子元素选择器(>
)。但我认为这并没有真正"获取"内容,也就是说它并没有选择或存储内容,以便进行其他操作。我认为这正是问题的提问者想要的,如果我理解错误请指正。Jace,你有没有办法实现这个功能?我也想知道。
问题: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来获取元素的文本内容。