为了账号安全,请及时绑定邮箱和手机立即绑定

如何用javascript通过判断用户输入来改变表格颜色

如何用javascript通过判断用户输入来改变表格颜色

浮云间 2019-03-20 19:15:26
我建了个contentedtitable的grid,我想通过点击该cell并输入"o"来改变该cell颜色.请问该怎么写javascript?
查看完整描述

2 回答

?
30秒到达战场

TA贡献1828条经验 获得超6个赞

题主试下这段代码:


<style>

#grid { margin:1em auto; border-collapse:collapse; } 

#grid td { cursor:pointer; width:30px; height:30px; border:1px solid #666; text-align: center;}

</style>


<table id="grid" align="center">

  <tr>

    <td contenteditable="true">x</td>

    <td contenteditable="true">y</td>

    <td contenteditable="true">z</td>

  </tr>

</table>


<script>

document.getElementById("grid").addEventListener("input", function(e) {

    if (e.target.innerHTML=="o") e.target.style.backgroundColor = 'lightblue';

},false);

</script>

初始表格:


https://img1.sycdn.imooc.com//5cb0171b00012bcb03220078.jpg


更改内容后:


https://img1.sycdn.imooc.com//5cb0171d00015d1e02870121.jpg


根据题主提供代码修改如下:


<html> 

<title>robot</title> 

<style>

#mytable { margin:1em auto; border-collapse:collapse; } 

#mytable td { cursor:pointer; width:30px; height:30px; border:1px solid #666; text-align: center; contenteditable: true;}

</style>

<table id="mytable" align="center"></table> 

<script> 

var mytable = document.getElementById('mytable'); 

for (var i = 0; i < 10; i++) { 

    var tr = mytable.insertRow(); 

    for (var j = 0; j < 10; j++) { 

        var td = tr.insertCell();

        td.contentEditable = true;

    } 

}


document.getElementById("mytable").addEventListener("input", function(e) {

    if (e.target.innerHTML=="o") e.target.style.backgroundColor = 'lightblue';

},false);

</script> 

</html>

在题主使用的火狐浏览器下测试截图如下:

https://img1.sycdn.imooc.com//5cb017240001c83308000354.jpg

查看完整回答
反对 回复 2019-04-12
  • 2 回答
  • 0 关注
  • 653 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信