0
点赞
收藏
分享

微信扫一扫

Javascript知识【元素内容体实操案例】


目录

​​1,案例:元素内容体操作​​

​​1.1:案例​​

​​1.2:思考【进阶+】​​

1,案例:元素内容体操作

1.1:案例

需求:

追加的行:末尾序号需要递增的  如果序号以及1,2,再次追加,行序号为3

追加的头:追加的头部,序号必须为1

姓名和年龄必须通过输入框输入

Javascript知识【元素内容体实操案例】_javascript

 

  1. 分析:

关键点:

  1. 追加操作: +=     <tr>
  2. 输入框弹出两次分别接受姓名和年龄

步骤:

一、为按钮点击onclick点击事件

二、编写点击事件的监听器

//1、获取表格对象

//2、通过输入框,获取姓名和年龄

//3、拼接要追加的字符串,序号从3开始自增

//4、将整理好的字符串 追加到表格内容体末尾

  1. 代码实现:


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        tr{
            text-align: center;
        }
    </style>


<script>
    var num = 3;
    //向表格末尾追加数据
    function addDataToLast() {
        //1、获取表格对象
        var t1 = document.getElementById("t1");
        //2、通过输入框,获取姓名和年龄
        var name = prompt("请输入姓名:");
        var age = prompt("请输入年龄:");
        //3、拼接要追加的字符串,序号从3开始自增
        var str = "<tr>\n" +
            "            <td>"+ num++ +"</td>\n" +
            "            <td>"+name+"</td>\n" +
            "            <td>"+age+"</td>\n" +
            "        </tr>";
        //4、将整理好的字符串 追加到表格内容体末尾
        t1.innerHTML+=str;
    }
</script>


</head>
<body>
<!--
    追加的行:末尾序号需要递增的   如果序号已经有1、2,再次追加,行序号为3
    追加的头:追加的头部,序号必须为1
   姓名和年龄必须通过输入框输入
-->
    <input type="button" value="点我向末尾追加一行" onclick="addDataToLast()"/>
    <input type="button" value="思考:点我向头部追加一行"/>
    <table id="t1" style="width:500px;background-color: pink;border:1px dashed blue;">
        <caption>
            内容体表格
        </caption>
        <tr>
            <th>序号</th>
            <th>姓名</th>
            <th>年龄</th>
        </tr>
        <tr>
            <td>1</td>
            <td>XXX</td>
            <td>19</td>
        </tr>
        <tr>
            <td>2</td>
            <td>XXX</td>
            <td>19</td>
        </tr>
    </table>
</body>
</html>



1.2:思考【进阶+】

Javascript知识【元素内容体实操案例】_html_02

  1. 分析:

关键点:

  1. 头部内容体追加:

元素.innerHTML = "字符串"+元素.innerHTML;

  1. 获取指定标签的元素数组:

//根据标签名获取指定的元素 数组。 获取不到。返回空数组

var arr = document.getElementsByTagName("标签名");

进行行下的单元格操作 

Javascript知识【元素内容体实操案例】_javascript_03

 

步骤:

  • 为按钮绑定点击事件
  • 编写点击事件监听器代码

//1、获取表格对象

//2、输入姓名和年龄

//3、定义字符串str,作为表格的新内容体

//4、str拼接表格的头部和表头

//5、向str中,拼接一条新行数据(序号必须为1)

//6、获取所有的tr标签

//7、遍历所有tr标签,索引从1

//8、遍历中,取出当前tr,修改当前tr第一个单元格数据,在原有基础上+1

//9、修改完成,将该tr的内容体追加到str末位

//10、为表格内容体设置新数据为str

 代码实现:


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        tr{
            text-align: center;
        }
    </style>
    <script>
        var num = 3;
        //向表格末尾追加数据
        function addDataToLast() {
            //1、获取表格对象
            var t1 = document.getElementById("t1");
            //2、通过输入框,获取姓名和年龄
            var name = prompt("请输入姓名:");
            var age = prompt("请输入年龄:");
            //3、拼接要追加的字符串,序号从3开始自增
            var str = "<tr>\n" +
                "            <td>"+ num++ +"</td>\n" +
                "            <td>"+name+"</td>\n" +
                "            <td>"+age+"</td>\n" +
                "        </tr>";
            //4、将整理好的字符串 追加到表格内容体末尾
            t1.innerHTML+=str;
        }
        //向表格头部追加数据
        function addDataToFirst() {
            //1、获取表格对象
            var t1 = document.getElementById("t1");
            //2、输入姓名和年龄
            var name = prompt("请输入姓名:");
            var age = prompt("请输入年龄:");
            //3、定义字符串str,作为表格的新内容体
            var str = "";
            //4、str拼接表格的头部和表头
            str+="<caption>\n" +
                "            内容体表格\n" +
                "        </caption>\n" +
                "        <tr>\n" +
                "            <th>序号</th>\n" +
                "            <th>姓名</th>\n" +
                "            <th>年龄</th>\n" +
                "        </tr>";
            //5、向str中,拼接一条新行数据(序号必须为1)
            str+="<tr>\n" +
                "            <td>1</td>\n" +
                "            <td>"+name+"</td>\n" +
                "            <td>"+age+"</td>\n" +
                "        </tr>";
            //6、获取所有的tr标签
            var trArr = document.getElementsByTagName("tr");
            //7、遍历所有tr标签,索引从1
            for (var i = 1; i <trArr.length ; i++) {
                //8、遍历中,取出当前tr,修改当前tr第一个单元格数据,在原有基础上+1
                var td = trArr[i].cells[0];
                td.innerHTML = parseInt(td.innerHTML)+1;
                //9、修改完成,将该tr的内容体追加到str末位
                str+="<tr>"+trArr[i].innerHTML+"</tr>";
            }

            //10、为表格内容体设置新数据为str
            t1.innerHTML = str;
            num++;//只要加一行,num一定要++
        }
    </script>
</head>
<body>
<!--
    追加的行:末尾序号需要递增的   如果序号已经有1、2,再次追加,行序号为3
    追加的头:追加的头部,序号必须为1
   姓名和年龄必须通过输入框输入
-->
    <input type="button" value="点我向末尾追加一行" onclick="addDataToLast()"/>
    <input type="button" value="思考:点我向头部追加一行" onclick="addDataToFirst()"/>
    <table id="t1" style="width:500px;background-color: pink;border:1px dashed blue;">
        <caption>
            内容体表格
        </caption>
        <tr>
            <th>序号</th>
            <th>姓名</th>
            <th>年龄</th>
        </tr>
        <tr>
            <td>1</td>
            <td>XXX</td>
            <td>19</td>
        </tr>
        <tr>
            <td>2</td>
            <td>XXX</td>
            <td>19</td>
        </tr>
    </table>
</body>
</html>


举报

相关推荐

0 条评论