Доброго времени суток. Нужна помощь Есть таблица, хочу каждый элемент сделать кликабельным Вот так работает :
var variable = document.getElementById('test');
Но кликабельным получается только первый элемент естественно
variable.addEventListener("click", showNumber);
Пытаюсь так чтобы все:
var variable = document.getElementsByTagName('td');
var variable = document.querySelectorAll('.class');
variable.addEventListener("click", showNumber);
Не получается.
querySelectorAll
и getElementsByTagName
возвращают коллекции, следовательно, чтобы назначить обработчик, нужно пройтись по всей коллекции и назначить его каждому элементу, например:
var variables = document.querySelectorAll('.class');
[].forEach.call(variables, function(variable){
variable.addEventListener("click", showNumber);
});
Cобытия клика «пузырьками» поднимаются наверх: от <td>
к <tr>
и <table>
. Может, просто ловить события клика у <table>
– и определять оригинального инициатора клика?
var table = document.getElementById('e-table'),
out = document.getElementById('out');
table.addEventListener('click', function(e){
if( e.target.tagName !== 'TD') return; // ждём клика по <td>
out.innerHTML = e.target.innerHTML;
});
body{font-family:Helvetica,Arial,sans-serif;}
td{border:1px solid #CCC; cursor:pointer; width:15px;height:15px; text-align:center}
#out{padding:5px;width:60px;height:40px;background-color:#CCC;text-align:center}
<table id="e-table">
<tr> <td>1</td> <td>2</td> <td>3</td> </tr>
<tr> <td>A</td> <td>B</td> <td>C</td> </tr>
<tr> <td>.</td> <td>..</td> <td>...</td> </tr>
</table>
<div id="out"></div>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Сообственно, инструкция по установке фрейма (судя по синтаксису, скорее всего на пхп):