In questo JSFiddle che ho creato su Chrome, trovo che non è possibile lavorare su IE (sto usando IE9). Qualsiasi motivo a riguardo: http://jsfiddle.net/ZSB67/.Problema utilizzando elem.dataset con IE e 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);
};
}
Ho quattro hyperlink con una classe di .bg_swap e un indice (indice dei dati) di numeri in ordine crescente. Quando faccio clic su di essi, si suppone che impostino lo sfondo della pagina corrispondente all'indice dell'elemento all'indice dell'array (backImage). Sono Chrome e ho controllato su IE9 e non funziona. – 0x499602D2
'this.dataset' viene visualizzato come non definito in IE9, quindi il gestore onclick non chiama mai la modificaBGImage() –