YAN_HUAXIANGMO 2017-07-14 15:48 采纳率: 100%
浏览 1528
已采纳

一键重置表格所有样式和内容

遇到了这样的问题,弄了一个表格,内部格式大致如下

 <form>
<table id=“tB”>
    <tr id=“tR”>
            <td>
                    <input id=“no”class=“no”>
            </td>
            <td id="com1">*****
            </td>
    </tr>

    <tr>
            <td>
                    <input id=“name”class=“name”>
            </td>
            <td id="com2">*****
            </td>
    </tr>
</table>
<input type="reset" value="重置">
</form>

,问题就是,我的input通过class属性设置了css样式,现在要一键重置,把input的样式清除了,也把第二个《td》的“*****”这个内容也清除,怎么做?
我能想到的是获取input的标签的className = “”,这样能清除input的样式,但是要把td的内容给清空,就必须用innerHtml,假如我的表单还有很多行,我就想一次性获取行中的第二个td把*****清空,不单独一个一个获取id清除,怎么做?

 function reSet() {
                        ////这里我不想这样,想一次性获取比如循环获取document.getElementById("com"+x).inerHTML=“”;这样,但是失败了,getElementById方法不能识别var x
            document.getElementById("com1").innerHTML = "";
            document.getElementById("com2").innerHTML = "";

            var a = document.getElementsByTagName("input");//这里是清空input样式
            for (var x = 0; x < a.length; x++) {
                document.getElementsByTagName("input")[x].className = "";
            }
        }
  • 写回答

3条回答 默认 最新

  • hongjinwu 2017-07-17 03:35
    关注

    function reSet() {
    var trEle = document.getElementById('tB').children[0].children;
    var ipts,
    tdEles;
    for (var i = 0; i< trEle.length; i++) {
    ipts = trEle[i].children[0].children; // 获取页面所有文本框
    tdEles = trEle[i].children[1];
    ipts[0].className = ''; // 清除类名
    tdEles.innerHTML = ''; // 清空内容
    }
    }

    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 flink cdc无法实时同步mysql数据
  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名