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, время: 21:17. |