How do I change HTML table cell color on click

前端 未结 3 1470
野趣味
野趣味 2020-12-21 00:48

I\'m trying to change the background color of an HTML table cell when the user clicks on the cell. Any ideas on how to do this? I have access to the JS Prototype library, so

相关标签:
3条回答
  • 2020-12-21 01:13

    You could loop over all the children of the table and add an click event to them

    with prototype the code is:

    $('your_table').observe('click', function(event) {
      var clickedCell = event.findElement('td');
      if (clickedCell) {
       clickedCell.setStyle({ background: '#dfd' });
      }
    });
    
    0 讨论(0)
  • 2020-12-21 01:17

    Ugly, but demonstrates the effect:

      <table>
        <tr>
            <td onclick="this.style.backgroundColor = 'Red';">Sample</td>
            <td onclick="this.style.backgroundColor = 'Blue';">Data</td>
        </tr>
      </table>
    
    0 讨论(0)
  • 2020-12-21 01:28

    I'm not well versed in the Prototype framework, but here's some raw Javascript that'll do what you're looking for:

    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');
    };​
    

    Test it on jsFiddle

    0 讨论(0)
提交回复
热议问题