使用javascript将自动生成的HTML中的字体大小从px更改为em

时间:2013-01-30 05:23:22

标签: html css font-size em

我有一个由我无法控制的网络服务生成的HTMLHTML的字体大小为pxpt。我的要求是将所有字体大小更改为em

这就是我的尝试:

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

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

但是,即使null中有很多字体标记,它也会返回HTML

我读过的所有相关来源都假设我们可以控制CSSHTML,因此不适用于我的问题。

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

3 个答案:

答案 0 :(得分:0)

尝试document.getElementsByTagName .......你要遗漏s:)

答案 1 :(得分:0)

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

以下是您要找的内容:

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

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

答案 2 :(得分:0)

您的方法存在的问题是您正在尝试更改整个节点列表上的样式。

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

这是一个实现http://jsfiddle.net/Kfd2R/

的小提琴