getAttribute в ослике 8
Здравствуйте, подскажите в чем может быть проблема, с данным кодом в 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 начал осваивать недавно, может какой банальности не замечаю? |
Цитата:
<!DOCTYPE html> <html> <head> <!-- <script src='http://code.jquery.com/jquery-latest.js'></script> <link rel='stylesheet type=text/css href=tmp.css' /> --> <style type='text/css'> </style> <script type='text/javascript'> function test() { alert(document.getElementById('test').getAttribute('data-value')); }; </script> </head> <body> <div id='test' data-value='data'></div> <button onclick='test();'>Test</button> </body> </html> |
Цитата:
|
Цитата:
|
werty1001,
а так? <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title> - jsFiddle demo by werty1001</title> <script type='text/javascript'> window.onload=function(){ (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(el) { return function() {document.querySelector("[data-div="+ el.getAttribute('data-show') +"]").style.display = 'none';}})(show[i])); } else { show[i].addEventListener("click", function() { document.querySelector("[data-div="+ this.getAttribute('data-show') +"]").style.display = 'none';}); } } })(); } </script> </head> <body> <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> </body> </html> |
Цитата:
рони, Спасибо, так работает. Плюс в карму что-не пашет. Еще раз спасибо. |
Цитата:
|
Часовой пояс GMT +3, время: 02:50. |