除了尝试添加!important
之外,我没有任何问题。它不会采取。我需要添加它才能动态覆盖字体大小。
以下是我调整风格的方法:
function newFont(newSizeA) {
var elems = document.getElementsByClassName('a');
for(i=0; i<elems.length; i++) {
elems[i].style.fontSize = newSizeA + 'px!important';
}
}
newFont(20);
!important
失败,没有!important
就行了。
编辑:这需要回到IE8,所以我希望有一个有人知道的跨浏览器解决方案。
答案 0 :(得分:6)
您的CSS won't parse !important
声明以这种方式编写时(它期望值空间中只有fontSize
的合法值,这意味着数字,而不是数字和字符串)。相反,您可以通过设置style
属性来以这种方式编写。
根据QuirksMode和MSDN,IE8及更高版本应支持此功能。
function newFont(newSizeA) {
var elems = document.getElementsByClassName('a');
for(i = 0; i < elems.length; i++) {
elems[i].setAttribute('style', 'font-size:' + newSizeA + 'px' + '!important');
}
}
newFont(20);
<div class="a">asdf</div>