文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

js如何实现单击可修改表格

2023-06-14 19:01

关注

小编给大家分享一下js如何实现单击可修改表格,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

js的作用是什么

1、能够嵌入动态文本于HTML页面。2、对浏览器事件做出响应。3、读写HTML元素。4、在数据被提交到服务器之前验证数据。5、检测访客的浏览器信息。6、控制cookies,包括创建和修改等。7、基于Node.js技术进行服务器端编程。

具体内容如下

功能:实现成绩单单击表格可对数据进行修改且对输入的数字大小有验证例如不小于0不大于100,总分栏会对总分进行求和(利用了es6的模板字符串)。

实现效果:

js如何实现单击可修改表格

代码:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>Document</title>    <style>        table{            margin: 0 auto;            z-index:999999;            border-collapse: collapse;        }        th {         background-color: #4CAF50;                  color: white;}        table th,tr,td{            width:100px;            text-align: center;        }        table input{            border:none;            outline: none;            width: 100%;        }        .inputClass{            width:80px;            height:100%        }    </style></head><body>    <div >        <h3 >成绩登记表</h3>        <div >            <table border="1">                <thead>                    <th>学号</th>                    <th>姓名</th>                    <th>语文</th>                    <th>数学</th>                    <th>英语</th>                    <th>总分</th>                </thead>                <tbody>                </tbody>            </table>        </div>    </div></body><script>    // 数组    let data = [        {            id:1101,            name:'小王',            Chinese:100,            Math:80,           English:91,            total:271        },        {            id:1102,            name:'小曾',            Chinese:88,            Math:87,            English:92,            total:267        },        {            id:1103,            name:'小赵',            Chinese:75,            Math:20,            English:86,            total:181        },        {            id:1104,            name:'小周',            Chinese:65,            Math:81,            English:83,            total:229        }    ]    window.onload = function(){        initdata()    }    //初始化数据    // 模板填入数据    function initdata(){        let tbodyinner = document.getElementsByTagName("tbody")[0]        let html = ''        for(let i=0;i<data.length;i++){            html+=`            <tr>                <td>${data[i].id}</td>                <td>${data[i].name}</td>                <td name="grade" class="chinese">${data[i].Chinese}</td>                <td name="grade" class="math">${data[i].Math}</td>                <td name="grade" class="english">${data[i].English}</td>                <td class="allscore">${parseInt(data[i].Chinese)+parseInt(data[i].Math)+parseInt(data[i].English)}</td>            </tr>            `        }        // tbody.innerHTML="..."往tbody中添加内容        tbodyinner.innerHTML = html        getNode()    }    // 监听click事件    function getNode(){        let subject = document.getElementsByName("grade")        for(let i=0;i<subject.length;i++){            subject[i].addEventListener('click',function(){                edit(this)            })        }    }    //鼠标 移入点    function edit(i){        let inputlen = document.getElementsByTagName('input').length        let oldvalue = i.innerHTML        if(inputlen==0){            // 设置该标签为空            i.innerHTML = ''            // 添加input对象            let inp = document.createElement("input")            inp.value = oldvalue            inp.classList.add("inputClass")            // 添加子节点            i.appendChild(inp)            // 获取文本中的内容            inp.select()            // 失去焦点事件            inp.onblur = function(){                if(inp.value<=100&&inp.value>=0){                    i.innerHTML = inp.value                    let val1 = i.parentNode.childNodes[5].innerHTML                    let val2 = i.parentNode.childNodes[7].innerHTML                    let val3 = i.parentNode.childNodes[9].innerHTML                    i.parentNode.childNodes[11].innerHTML = parseInt(val1)+parseInt(val2)+parseInt(val3)                }else{                                     return alert("数据值不对,请重新输入!");                }            }        }    }</script></html>

以上是“js如何实现单击可修改表格”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯