一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - js教程 - js實現單擊可修改表格

js實現單擊可修改表格

2022-03-08 16:40左一. js教程

這篇文章主要為大家詳細介紹了js實現單擊可修改表格,類似成績單,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

純js實現單擊可修改表格(類似成績單),供大家參考,具體內容如下

功能:實現成績單單擊表格可對數據進行修改且對輸入的數字大小有驗證例如不小于0不大于100,總分欄會對總分進行求和(利用了es6的模板字符串)。

實現效果:

js實現單擊可修改表格

代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
<!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;
         /* background-image: linear-gradient(to right, #eea2a2 0%, #bbc1bf 19%, #57c6e1 42%, #b49fda 79%, #7ac5d8 100%); */
         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 style="position: relative;margin-top: 200px;text-align:center">
        <h2 style="margin-bottom: 50px;">成績登記表</h2>
        <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>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/C_players/article/details/115906385

延伸 · 閱讀

精彩推薦
  • js教程JS hasOwnProperty()方法檢測一個屬性是否是對象的自有屬性的方法

    JS hasOwnProperty()方法檢測一個屬性是否是對象的自有屬性的方法

    這篇文章主要介紹了JS hasOwnProperty()方法檢測一個屬性是否是對象的自有屬性的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的...

    10612022-01-11
  • js教程JavaScript實現前端倒計時效果

    JavaScript實現前端倒計時效果

    這篇文章主要為大家詳細介紹了JavaScript實現前端倒計時效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    L在前方4292022-01-20
  • js教程js canvas實現五子棋小游戲

    js canvas實現五子棋小游戲

    這篇文章主要為大家詳細介紹了js canvas實現五子棋小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    魚-貓3922022-01-06
  • js教程JS新手入門數組處理的實用方法匯總

    JS新手入門數組處理的實用方法匯總

    這篇文章主要給大家介紹了關于JS新手入門數組處理實用方法的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習...

    Assam1804222022-02-24
  • js教程微信小程序實現無縫滾動

    微信小程序實現無縫滾動

    這篇文章主要為大家詳細介紹了微信小程序實現無縫滾動,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Edward_Cullens10802022-02-19
  • js教程JS數組去重的九種高階方法(親測有效)

    JS數組去重的九種高階方法(親測有效)

    這篇文章主要給大家介紹了關于JS數組去重的九種高階方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的...

    Echoyya、6872022-02-23
  • js教程JS+CSS實現過渡特效

    JS+CSS實現過渡特效

    這篇文章主要為大家詳細介紹了JS+CSS實現過渡特效,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Dr_空山3702021-12-23
  • js教程原生JavaScript實現輪播圖

    原生JavaScript實現輪播圖

    這篇文章主要為大家詳細介紹了原生JavaScript實現輪播圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    棟棟很優秀啊7042021-12-29
主站蜘蛛池模板: 天干夜天天夜天干天ww | 和老外3p爽粗大免费视频 | 边摸边吃奶又黄激烈视频韩国 | 美女黄金大片视频免费看 | 5555国产在线观看精品 | www.伊人| 日本粉色视频 | 亚洲av欧美在我 | 日韩一品在线播放视频一品免费 | 全是女性放屁角色的手游 | 亚州免费一级毛片 | 九九精品免视频国产成人 | 青青草原免费在线视频 | 日本一区二区视频在线 | 精品国产一区二区在线观看 | 国产卡一卡二卡四卡无卡 | h肉动漫在线视频无修无遮挡 | 好猛好紧好硬使劲好大刺激视频 | 秋霞黄色片 | 国产成人啪精品午夜在线播放 | 农村老妇1乱69系列小说 | 国产麻豆精品视频 | 国产综合亚洲专区在线 | 国产精品欧美一区二区 | 办公室强行丝袜秘书啪啪 | 我与肥熟老妇的性事 | 国产免费色视频 | 亚洲精品一二三四 | 国产在线观看色 | 亚洲精品AV无码喷奶水糖心 | 99视频免费在线观看 | 男同巨黄gay小说好爽 | 五月激激激综合网色播免费 | 亚洲国产精品第一区二区三区 | 美女沟厕撒尿全过程高清图片 | 亚州笫一色惰网站 | 22sihu国产精品视频影视资讯 | 风间由美一区二区播放合集 | 日韩免费毛片视频杨思敏 | 香蕉久久夜色精品国产尤物 | 国产午夜精品福利 |