window.getComputedStyle()方法只接受元素节点。 有什么方法可以可靠地获取确定文本节点视觉表示的样式吗?
我知道节点不能有 style
属性,但它们肯定是有样式的,因为它们继承了父元素的样式。是否有办法从与文本节点的视觉表示相关的父元素中获取所有计算样式?
请注意,将节点包裹在 span
中是不可能的:这会影响 CSS 规则,例如 span:nth-child
或 span + span
等
最佳答案
如果文本节点是元素中的唯一节点,您可以简单地在其parentNode
上使用getComputedStyle()
。
但是,请考虑以下几点:
div {border: 1px solid black;}
<div>This <em>is</em> a <strong>test</strong></div>
你不能说“This”和“a”都有边框。说“This”有左上下边框而“a”只有上下边框是否准确?这是值得怀疑的。
如果您将自己限制在专门应用于文本(颜色、背景、textDecoration、字体等)的样式上,则在 parentNode
上应用 getComputedStyle()
应该始终有效.
关于javascript - 如何获得文本节点的感知样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30963660/