我正在寻找改变的应用程序非常简单HTMLwise - 只是一堆DIV。所有沉重的格式化工作都在样式表中完成。我遇到的挑战是在运行时更改背景图像。事情是这样:在运行时通过JavaScript加载div背景图像(通过/ with?CSS)
document.getElementById(id).style.setProperty('background-image', '1.png');
或
document.getElementById(id).style.backgroundImage = '1.png';
不工作,因为(我认为)通过CSS值HTML值将始终被 “覆盖”。而且(如果我是正确的),你得到任何对象模型:
var ms = document.defaultView.getComputedStyle(document.getElementById(id), null);
是在这个网站俱备只...
我见过的其他项目和其他地方似乎不准确适用:更改按钮图像。使用Angular。加载精灵。不涉及CSS。图像交换传送带(涉及JQuery)。
我不会因为我认为/探索过的其他hacky workwrounds而感到厌倦,因为我觉得必须有一种方法可以用javascript和CSS来做到这一点,对吧?
我的问题是你如何使用JavaScript来更改样式表中的图像或更改样式表所覆盖的html div?
也许你必须等待样式表加载和应用?尝试将代码放入'window.onload = function(){}' – yuriy636
“所有繁重的格式化工作都在样式表中完成。”那么只需更改类名 –
我已确认窗口已加载。任何方式,我真的不认为我有有效的语法编辑由CSS管理的背景图像。我知道的唯一方法是内联HTML定义和DOM集合语句。这两者(再次我认为)都被样式表所取代。 – liveFor10