【发布时间】:2023-01-08 11:29:13
【问题描述】:
所以这是 HTML
<button class="w drum">w</button>
<script src="index.js" charset="utf-8"></script>
这是 CSS
.w {
background-image: url("images/tom1.png");
}
.a {
background-image: url("images/tom2.png");
}
.s {
background-image: url("images/tom3.png");
}
.d {
background-image: url("images/tom4.png");
}
.j {
background-image: url("images/snare.png");
}
.k {
background-image: url("images/crash.png");
}
.l {
background-image: url("images/kick.png");
}
最后这是javascript
for (let i in document.querySelectorAll(".drum")) {
document.querySelectorAll(".drum")[i].addEventListener("click", handleClick);
}
function handleClick() {
var url = this.style.backgroundImage;
console.log(url);
}
所以当我点击 w / a / s / d / etc. 按钮时,控制台应该返回图像 url 吧?
但这就是发生的事情......
Console log shows empty string
为什么是空的???请帮助
【问题讨论】:
-
HTMLElement的style属性返回排队style元素的属性。你需要得到计算风格带有window.getComputedStyle的元素。 -
@EmielZuurbier 所以 URL 是一种计算样式,非常感谢您的帮助!
标签: javascript dom