我想把JS的背景图像放在div上,并在鼠标上点击更改这些图像。我试图这样做:用JS更改div背景图像
window.onload; {
var replies = document.getElementsByClassName("reply-wrapper");
var retweets = document.getElementsByClassName("retweet-wrapper");
var favs = document.getElementsByClassName("fav-wrapper");
for (var i = 0; i < replies.length; i++) {
replies[i].style.backgroundImage = "url(images/reply.png);";
}
for (var i = 0; i < retweets.length; i++) {
retweets[i].style.backgroundImage = "url(images/retweet.png);";
}
for (var i = 0; i < favs.length; i++) {
favs[i].style.backgroundImage = "url(images/favorite.png);";
}
}
但由于某种原因,它将无法正常工作。适当的div有正确的类,并将它们添加到收集工作正常,但放置图像本身不起作用。我究竟做错了什么? P.S.想用纯JS编写它,不要使用jQuery。 P.P.S出于某种原因,使用innerHTML放置图像效果很好。为什么?
谢谢,它工作得很好。也许,你可以解释一下,为什么这样做;打破链接? AFAIK,它应该在CSS属性声明后... ...也许,你可以帮我解决另一个问题 - 我想添加这样的代码,但它不会工作:回复[i] .onMouseOver = function(){ 回复[i] .style.backgroundImage =“url('images/reply_hover.png)”; }我又在做什么错了? –
@TristanTzara在你的函数中,你应该将它改为** this.style.backgroundImage **,而不是**回复[i] .style.backgroundImage ** – rottenoats