Изменить цвет поточного эемента
<div id="game"> <ul> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> </ul> </div> Есть вот такой HTML код как при помощи JS без jQ при нажатии на элемент списка изменить его цвет??? |
<style> #game li:active{ background: #f00; } </style> <div id="game"> <ul> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> </ul> </div>:) А вообще: <div id="game"> <ul> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> </ul> </div> <script> document.getElementById('game').onclick = function(e){ if(e.target.tagName == 'LI'){ e.target.style.background = '#f00'; } } </script> |
или так)
|
спасибо, а можно это как-нибудь через оператор this?
|
а вы по ссылке смотрели? там через this
|
<!DOCTYPE html> <style> #game li{ background: blue; height: 20px; list-style: none; margin: 5px 0; padding: 0; } #game li.active{ background: red; } </style> <div id="game"> <ul> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> </ul> </div> <script> document.querySelector('#game ul').onclick = function(event) { var target = event ? event.target : window.event.srcElement; if (target.tagName == 'LI') target.className = 'active'; }; </script> |
Чет я прослоупочил.
Ну лан, вот еще вариант: <!DOCTYPE html> <style> #game li{ background: blue; height: 20px; list-style: none; margin: 5px 0; padding: 0; } #game li.active{ background: red; } </style> <div id="game"> <ul> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> </ul> </div> <script> (function(){ var items = document.querySelectorAll('#game li'); var onclick = function() { this.className = 'active'; } for (var i = 0; i < items.length; i++) { items[i].onclick = onclick; } })(); </script> |
danik.js, lol
document.querySelector()и window.event.srcElementв одном скрипте - это сильно. |
спасибо всем
|
Цитата:
|
Часовой пояс GMT +3, время: 07:51. |