6

我有一个HTML从我无法控制的 Web 服务生成的。的HTML字体大小为pxpt。我的要求是将所有字体大小更改为em.

这是我尝试过的:

我尝试<font>使用以下方式访问所有标签:

document.getElementByTagName('font').style.fontSize;

但是,null即使我在HTML.

我阅读的所有相关资料都假设我们可以控制CSSHTML因此不适用于我的问题。

简而言之,我想解析HTML并找到所有内联样式(字体大小)并从任何其他类型更改为em.

4

3 回答 3

0

尝试document.getElementsByTagName.......你忽略了 s :)

于 2013-01-30T05:50:46.830 回答
0

如果样式是 HTML,那么它就是内联样式。没有 CSS Wizardry 会覆盖它。您需要做的是直接修改内联样式。

这是您要查找的内容:

var elem = document.getElementById("elementID");
elem.setAttribute("style", "font-size: 2em");

你会在 IE 中遇到问题,setAttribute所以如果这是一个问题......你需要编写一个后备来处理它。

于 2013-01-30T05:53:49.273 回答
0

您的方法的问题是您试图更改整个节点列表的样式。

当您调用 getElementsByTagName 时,您不会返回单个元素。您需要遍历节点中的元素,然后elememt.style.fontSize = size;在每个元素上使用。

这是一个实现http://jsfiddle.net/Kfd2R/的小提琴

于 2013-01-30T06:17:47.510 回答