Здравствуйте, подскажите в чем может быть проблема, с данным кодом в ie8: 
ссылка на jsfiddle или
(function() {
      
var show = document.querySelectorAll('[data-show]');
var div =  document.querySelectorAll('[data-div]');
    
for (var i=show.length; i--;) {
    
if (!show[i].addEventListener) {
    
    show[i].attachEvent("onclick", function() {document.querySelector("[data-div="+ this.getAttribute('data-show') +"]").style.display = 'none';});
   
} else {
    
    show[i].addEventListener("click", function() { document.querySelector("[data-div="+ this.getAttribute('data-show') +"]").style.display = 'none';});
    
       }   
    
} // for
    
})(); // end
<span data-show="val">раз</span> <br /><br />
<span data-show="valval">два</span> <br /><br />
<div data-div="val">блок val</div> <br /><br />
<div data-div="valval">блок valval</div>
Гуглил долго, но понять так и не могу, что не так. Если установить значение атрибута в id элемента - работает, значит ослик понимает команду "getAttribute". JS начал осваивать недавно, может какой банальности не замечаю?