我有一个由我无法控制的网络服务生成的HTML
。 HTML
的字体大小为px
和pt
。我的要求是将所有字体大小更改为em
。
这就是我的尝试:
我尝试使用以下方式访问所有<font>
代码:
document.getElementByTagName('font').style.fontSize;
但是,即使null
中有很多字体标记,它也会返回HTML
。
我读过的所有相关来源都假设我们可以控制CSS
或HTML
,因此不适用于我的问题。
简而言之,我想解析HTML
并找到所有内联样式(font-size)并从任何其他类型更改为em
。
答案 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;
。