首页 > 其他分享 >Javerscript 学习(知识点整理)

Javerscript 学习(知识点整理)

时间:2023-11-19 21:46:02浏览次数:32  
标签:info 知识点 console body dataArr Javerscript item let 整理

一、知识体系:

 

 

二、案例整理:

(1)需求:

实现学生的信息录入

可以实现一个个添加,也可删除

(2)知识点整理:

查找元素: 

document.getElementById("submit");(按照元素的id查找)

document.getElementsByTagName('input');(按照元素名进行查找) 箭头函数: let myFunction = (a, b) => a * b;(使函数书写更加简洁) 内置console: console.log()在控制台打印信息 console.error()提示错误 console.warn()发出警告 声明方式: var:全局作用域 let:可以重新赋值 const(常量):不能改动,不能重新赋值(使用时要有初值,不然会报错) 迭代数组的方法: forEach  +  map  (迭代器,这两种方法都可以让我们从数组中创建新的数组) filter方法(选择器,可以根据条件创建新数组) for循环语句: for (语句 1; 语句 2; 语句 3) {      要执行的代码块 } 条件语句: 单条件语句: if(){} elseif(){} else() 多条件语句: if(xxxx||yyyy){} (3)代码数据:
<html>
    <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">
        <link rel="stylesheet" href="style.css">
    </head>
    <body>
        <div class="stdtab">
            <div class="input_info">
                <fieldset>
                    <legend>学生录入系统</legend>
                    <ul>
                        <li>
                            <label for="std_name">姓名:</label>
                            <input type="text" name="std_name" id="std_name">
                        </li>
                        <li>
                            <label for="std_gender">性别:</label>
                            <select name="std_gender" id="std_gender">
                                <option value="男">男</option>
                                <option value="女">女</option>
                            </select>
                        </li>
                        <li>
                            <label for="std_age">年龄:</label>
                            <input type="text" name="std_age" id="std_age">  
                        </li>
                        <li>
                            <label for="std_number">学号:</label>
                            <input type="text" name="std_number" id="std_number">
                        </li>
                    </ul>
                    <button id ='submit'>提交</button>
                </fieldset>
            </div>
            <div class = "show_info">
                <table border="1" cellspacing="0" bordercolor="#888">
                    <thead>
                        <tr>
                            <th>姓名</th>
                            <th>性别</th>
                            <th>年龄</th>
                            <th>学号</th>
                            <th>删除</th>
                        </tr>
                    </thead>
                    <tbody id="infos"></tbody>
                </table>
            </div>
        </div>
        <script src ="main.js"></script>
    </body>
</html>

css:

body li{
list-style: none;
}
body .stdtab .input_info{
    margin: 10px 0;
}
body .stdtab .input_info fieldset{
    width: 400px;
}
body .stdtab .input_info fieldset button{
    width: 60px;
    height: 30px;
    margin: 5px auto;
    display: block;
}
body .stdtab .show_info .thead{
    background-color: aquamarine;
}
body .stdtab .show_info .th{
    width: 80px;
    height: 30px;
}
body .stdtab .show_info .delete_{
    color: #fc0404;
}

js部分:

let submitBtn = document.getElementById("submit");;
let inputs = document.getElementsByTagName('input');
let gender = document.getElementById('std_gender');
let tbody = document.getElementsByTagName('tbody')[0];

let dataArr = [];
submitBtn.addEventListener('click',() =>{
    dataArr.push({
        name:inputs[0].value,
        gender:gender.value,
        age:inputs[1].value,
        number:inputs[2].value,
        index:dataArr.length
    });
    console.log(dataArr);
    let infos = '';
    dataArr.forEach((item) =>{
        infos = infos + `<tr class="info" index="${item.index}">
                        <th>${item.name}</th>
                        <th>${item.gender}</th>
                        <th>${item.age}</th>
                        <th>${item.number}</th>
                        <th class="delete" onclick = "del(${item.index})">删除</th>
                    </tr >`;
    })
    tbody.innerHTML = infos;
    inputs[0].value = "";
})
function del(index){
    let fidx = dataArr.findIndex(item =>{
        return item.index ==index;
    })
    console.log(fidx);
    dataArr.splice(fidx,1);
    console.log(dataArr);
    let info = document.getElementsByClassName("info");
    for (let i= 0;i <info.length;i++){

        let infoIdx = info[i].getAttribute("index");
        if (infoIdx ==index){
            console.log(info);
            tbody.removeChild(info[i]);
        }
    }
}

(4)效果展示:

 

 

标签:info,知识点,console,body,dataArr,Javerscript,item,let,整理
From: https://www.cnblogs.com/songnienie/p/17842727.html

相关文章

  • JVM学习记录(基本知识点)
    一、老生常谈,JVM的组成部分有哪些1.类加载器(作用:将字节码文件加载到内存中的运行时数据区)2.运行时数据区(由多个部分组成,也是我们最为普遍较为的区域,大体上讲就是运行程序,包括了程序运行的全生命周期)3.执行引擎(作用:将字节码翻译成底层系统命令交给CPU去执行)4.本地库接口(作用:字节码翻......
  • 25届实习秋招-Java面试-MySQL数据库面试题整理-牛客网近一年
    MySQL概述:关系型数据和非关系型数据库的区别,有哪些应用场景有哪些非关系的单表操作:三种SQL语言类型,MySql本身常用命令DDL-数据定义语句:表的常用操作truncate/delete--drop操作的区别varchar最大字节数DMLUpdate语句的sql执行流程对行数据的修改是......
  • Git命令整理
    gitreset和gitrevert是Git版本控制系统中常用的命令,用于撤销提交或修改历史记录。它们的作用不同,下面对它们进行解析:gitreset:gitreset命令用于将当前分支的HEAD指针移动到指定的提交,并可以选择性地更改工作目录和暂存区的状态。它有不同的模式:gitreset--soft<......
  • 整理ML&AI学习路径图
    干货分享:下面给出一个笔者自己整理的GitHub仓库:https://github.com/isLinXu/awesome-road-map,里面包含了一些可供参考的学习路径和思维导图,并整理微软、meta、谷歌、Kaggle以及华为、百度、阿里、腾讯、讯飞等相关的学习资源内容,可以用来帮助学习某个方面的知识与内容。其中Kaggl......
  • MySQL高阶知识点(三):吃透索引【转】
    接着之前总结的:索引概述入门,今天全面讲述一下索引相关知识点1.数据库索引是什么?有什么优缺点?索引是一种能提高数据库查询效率的有序的数据结构。它可以比作一本字典的目录,可以帮你快速找到对应的记录。索引一般存储在磁盘的文件中,它是占用物理空间的。其优缺点如下:优点:加快数......
  • 职场小白必备知识点-RIP&OSPF​路由协议
    路由简介作为网络工程师,你需要为某园区规划网络,预计有路由器若干,网络拓扑如下:规划网络之前,我们先来了解一下路由的相关知识。什么是路由所谓的路由,通俗来说就是路由器后台里,一张由目的地址、子网掩码、下一跳构成的表;它的作用是告知路由器需要如何处理收到的数据包;比如,路由器收到......
  • 初中数学核心知识点整理汇总大全
    七年级数学(上)知识点人教版七年级数学上册主要包含了有理数、整式的加减、一元一次方程、图形的认识初步四个章节的内容.第一章有理数1.有理数:(1)凡能写成形式的数,都是有理数.正整数、0、负整数统称整数;正分数、负分数统称分数;整数和分数统称有理数.注意:0即不是正数,......
  • SQL常用知识点
    1.join多表连接查询innerjoin:只显示连接条件不为空的数据,如果on后面的连接数据为空则查询不到。selecta.name,b.namefromaaaasainnerjoinbbbasbona.id=b.idwherea.age=18andb.add='qwe'leftjoin:以表aaa为主表,会把连接之后......
  • [整理]赛前训练
    第一场A是简单题,注意到矩形形成的是一个单调的阶梯,我们只需要排序然后枚举计算即可。需要注意处理一下完全包含的情况,用二维数点即可。(找单调性)B见到树上路径,想到拆分成点到根的异或和。注意到每个点的异或和确定了,边权就都确定了(钦定1的异或和是0),这样就和树的结构无关了,直......
  • 线性代数导论MIT第二章知识点
    线性代数导论MIT第二章求解线性方程组1.向量与线性方程组  2.不同角度看方程式也就是矩阵的乘法原型:以行来看方程式就是原式以列来看方程式以矩阵来看方程式 3.消元法的概念 4.消元法的崩溃 两条线互相平行就无法消元 两条线无限多的点  5.3x3......