H5ke12--2--学生选课表格的编辑

方法1不可以修改的用label,如何按了哪一行

就会在下面有个文本显示可编辑的一行
方法2每一行后面都有一个编辑,

3对每一个修改,每一个td失去焦点都会有,直接到达我们服务器

注意

如果用span的每一个html元素都可以自己定义属性
Data-属性名,data-Address

links也要给为span

1首先我们良好的习惯,脚本写在这里面

复制代码
window.addEventListener("load",(event)=>{

2然后捕获container并且创建变量container,创建出来一个元素table定义为table,然后container加入儿子元素table

创建元素tr定义为tr,然后table加入儿子元素tr.

3循环一个标题,创建一个head元素,然后tr加入儿子元素head.再把heads里面的写到某一个表格里面

4下面写表格正文,注意键值对形式

复制代码
students=[
    {name:"Alice",gender:"female",age:20,tall:160},

5循环一个学生们的长度,每次都创建元素tr定义为tr,然后table加入儿子元素tr.循环标题因为也是我们的键值对里的key

复制代码
6注意下面键值对的加入td.innerText=stu[head];之后设置我们的键盘鼠标可不可以编辑编辑后就反传
复制代码
stu[head]=td.innerText;正好相反

代码:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
<div id="container"></div>
        <script >
            let heads=["name","gender","age","tall"];
            let students=[
                {name:"Alice",gender:"female",age:20,tall:160},
                {name:"Bob",gender:"male",age:21,tall:176},
                {name:"Mark",gender:"male",age:21,tall:173},
                {name:"Jack",gender:"male",age:20,tall:180}
            ]
window.addEventListener("load",(event)=>{

        let table=document.createElement("table");
        document.querySelector("#container").appendChild(table);

        let tr=document.createElement("tr");
        table.appendChild(tr);
        for(const head of heads)
        {
            let th=document.createElement("th");
            tr.appendChild(th);
            th.innerText=head;
        }

        let editable_pat=/age|tall/;
        for(let i=0;i<students.length;i++)
        {
            let stu=students[i];
            let tr=document.createElement("tr");
            table.appendChild(tr);

            for(const head of heads)
            {
                let td=document.createElement("td");
                tr.appendChild(td);
                td.innerText=stu[head];

                // if(head=="age"||head=="tall")
                if(editable_pat.test(head)){
                    td.contentEditable="true";
                    td.onblur=td.onkeypress=(event)=>{
                        stu[head]=td.innerText;
                    }
                }

            }
        }
    // })
})

        </script>
    </body>
</html>
相关推荐
Json____几秒前
学法减分交管12123模拟练习小程序源码前端和后端和搭建教程
前端·后端·学习·小程序·uni-app·学法减分·驾考题库
五味香4 分钟前
Linux学习,ip 命令
linux·服务器·c语言·开发语言·git·学习·tcp/ip
迂 幵9 分钟前
vue el-table 超出隐藏移入弹窗显示
javascript·vue.js·elementui
欧阳枫落10 分钟前
python 2小时学会八股文-数据结构
开发语言·数据结构·python
上趣工作室13 分钟前
vue2在el-dialog打开的时候使该el-dialog中的某个输入框获得焦点方法总结
前端·javascript·vue.js
家里有只小肥猫13 分钟前
el-tree 父节点隐藏
前端·javascript·vue.js
fkalis14 分钟前
【海外SRC漏洞挖掘】谷歌语法发现XSS+Waf Bypass
前端·xss
何曾参静谧17 分钟前
「QT」文件类 之 QTextStream 文本流类
开发语言·qt
monkey_meng21 分钟前
【Rust类型驱动开发 Type Driven Development】
开发语言·后端·rust
落落落sss29 分钟前
MQ集群
java·服务器·开发语言·后端·elasticsearch·adb·ruby