Javascript 如何在不使用getComputedStyle的情况下确定粗体字体的字体大小

Javascript 如何在不使用getComputedStyle的情况下确定粗体字体的字体大小,javascript,performance,Javascript,Performance,我正在制作一个HTML文本解析器,我希望能够确定文本节点何时显示为标题(视觉上,而不是HTML标题) 关于页眉通常可以说的一件事是,它们被强调了——通常以两种方式之一:粗体字体或更大的字体大小 我可以使用getComputedStyle()获得两个相应的CSS值,但我希望避免这种情况,因为解析器需要高性能(必须在Chromebook上平稳运行),并且getComputedStyle()在浏览数百或数千个节点时速度不是特别快 计算字体大小并不难-我可以选择具有range的节点,然后从range.g

我正在制作一个HTML文本解析器,我希望能够确定文本节点何时显示为标题(视觉上,而不是HTML标题)

关于页眉通常可以说的一件事是,它们被强调了——通常以两种方式之一:粗体字体或更大的字体大小

我可以使用
getComputedStyle()
获得两个相应的CSS值,但我希望避免这种情况,因为解析器需要高性能(必须在Chromebook上平稳运行),并且
getComputedStyle()
在浏览数百或数千个节点时速度不是特别快

计算字体大小并不难-我可以选择具有
range
的节点,然后从
range.getClientRects()
中检查其客户端矩形。不过,我还没有找到一种智能的方法来检查字体大小,这就是我在这里的原因

有人能想出比使用
getComputedStyle()
更高性能的方法吗?

我知道这可能是不可能的——只是想看看是否有人能想出一个巧妙的方法来解决这个问题

编辑


这只适用于谷歌Chrome的扩展。

你在这里的目标真的很混乱。由于您想确定文本在视觉上是否为粗体,因此在某些设备上,根据它们呈现文本的方式,整个系统可能会崩溃

我的一个建议是使用HTML5数据属性-了解更多信息-并像这样使用它:

<div class="header" data-bold="yes">This will appear bold?</div>
这将显示为粗体?
然后,使用JavaScript,您可以使用databold属性遍历所有div元素


我希望这有帮助;)

用粗体显示并检查大小是否有差异如何?这是一个好主意,但根据我刚刚做的一个快速测试,它也比
getComputedStyle()
慢得多。我添加了一条评论,说这只适用于Google Chrome扩展。而且我没有提供HTML,所以我不能对它做任何更改。