【发布时间】:2011-08-19 22:05:00
【问题描述】:
在我在 Chrome 上创建的这个 JSFiddle 中,我发现它无法在 IE 上运行(我使用的是 IE9)。任何原因:http://jsfiddle.net/ZSB67/.
var backImage = [
"http://alm7.wikispaces.com/file/view/RedBackground.bmp/144018347/RedBackground.bmp",
"http://www.time2man-up.com/wp-content/uploads/2011/07/black-background.jpg",
"http://1.bp.blogspot.com/--GorNQoEUxg/TfWPyckVeMI/AAAAAAAAAHk/0208KqQf3ds/s1600/yellow_background.jpg",
""
];
function changeBGImage(whichImage) {
if (document.body) {
document.body.style.background = "url(\"" + backImage[whichImage] + "\")";
}
}
var buttons = document.querySelectorAll('.bg_swap'),
button;
for (var i = 0; i < buttons.length; i++) {
button = buttons[i];
button.onclick = function() {
changeBGImage(this.dataset.index);
};
}
【问题讨论】:
-
我有四个超链接,其中包含一个 .bg_swap 类和一个按升序排列的数字索引(数据索引)。当我点击它们时,它们应该将与元素索引对应的页面背景设置为数组的索引(backImage)。我是 Chrome 浏览过 IE9 还是不行。
-
this.dataset在 IE9 中显示为未定义,因此您的 onclick 处理程序甚至不会调用 changeBGImage()
标签: javascript