Изменить цвет поточного эемента
<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, время: 17:17. |