Как изменить цвет ячейки HTML-таблицы при клике - PullRequest
5 голосов
/ 16 сентября 2010

Я пытаюсь изменить цвет фона ячейки таблицы HTML, когда пользователь нажимает на ячейку.Есть идеи, как это сделать?У меня есть доступ к библиотеке JS Prototype, поэтому любые предложения по Prototype или прямому Javascript будут приветствоваться.

Ответы [ 3 ]

3 голосов
/ 16 сентября 2010

Уродливо, но демонстрирует эффект:

  <table>
    <tr>
        <td onclick="this.style.backgroundColor = 'Red';">Sample</td>
        <td onclick="this.style.backgroundColor = 'Blue';">Data</td>
    </tr>
  </table>
0 голосов
/ 16 сентября 2010

Вы можете перебрать все дочерние элементы таблицы и добавить к ним событие щелчка

с прототипом с кодом:

$('your_table').observe('click', function(event) {
  var clickedCell = event.findElement('td');
  if (clickedCell) {
   clickedCell.setStyle({ background: '#dfd' });
  }
});
0 голосов
/ 16 сентября 2010

Я не очень разбираюсь в платформе Prototype, но вот какой-то сырой Javascript, который сделает то, что вы ищете:

var table = document.getElementsByTagName('table')[0];
if(table) table.onclick = function(e) {
    var target = (e || window.event).target;
    if (target.tagName in {TD:1, TH:1})
        target.setAttribute('style', 'background-color: #F00');
};​

Проверьте это на jsFiddle

...