javascript - 如何获得文本节点的感知样式?

标签 javascript html css

window.getComputedStyle()方法只接受元素节点。 有什么方法可以可靠地获取确定文本节点视觉表示的样式吗?

我知道节点不能有 style 属性,但它们肯定是有样式的,因为它们继承了父元素的样式。是否有办法从与文本节点的视觉表示相关的父元素中获取所有计算样式?


请注意,将节点包裹在 span 中是不可能的:这会影响 CSS 规则,例如 span:nth-childspan + 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/

相关文章:

javascript - 从数据源将行添加到数据表

javascript - Scrollreveal.js 使用 afterreveal 调用函数

c# - 在 onClick 函数中传递 C# 变量参数

javascript - 位置固定仅水平但允许垂直滚动使用 javascript 的视差效果

html - 宽度为零的表格列

jquery - 无法使 div 宽度响应

django - Django 模板中的动态分页

javascript - 未定义reactRedux

php - 使用 JavaScript 重定向到 PHP 脚本中的动态 href

css - ruby rails : Retrieve css element and check value