Trong JSFiddle này tôi đã tạo trên Chrome, tôi thấy rằng nó không thể hoạt động trên IE (tôi đang sử dụng IE9). Bất kỳ lý do nào về điều này: http://jsfiddle.net/ZSB67/.Vấn đề khi sử dụng elem.dataset với IE và JSFiddle
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);
};
}
Tôi có bốn siêu liên kết với một lớp .bg_swap và chỉ mục (chỉ số dữ liệu) của các số theo thứ tự tăng dần. Khi tôi nhấp vào chúng, chúng được cho là thiết lập nền của trang tương ứng với chỉ mục của phần tử thành chỉ mục của mảng (backImage). Tôi là Chrome và đã kiểm tra trên IE9 và nó không hoạt động. – 0x499602D2
'this.dataset' hiển thị dưới dạng không xác định trong IE9, do đó trình xử lý onclick của bạn thậm chí không bao giờ gọi hàm changeBGImage() –