老师,除了样式有哪要改

老师,除了样式有哪要改

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>模版字符串</title>

    <style type="text/css">

        caption{

            display: inline-block;

            width: 15%;

            text-align: center;

        }

        table{

            border: 1px solid black;

        }

        td{

            border: 1px solid black;

        }

    </style>

</head>

    

<body>

    <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.js"></script>

    <script type="text/javascript">

    const tmpl = function() {

        return {

            title: "前端",

            data: [{

                title: '布局基础',

                date: ["html", "css"]

            }, {

                title: '网页特效',

                date: ["javascript", "jquery"]

            }, {

                title: '框架',

                date: ["bootstrap", "vue"]

            }]

        }

    }

    let show = function({title,data}){

        let cap = document.createElement('caption');

        var table = document.createElement('table');

        cap.innerHTML = title;

        data.forEach(function(arr) {

            table.innerHTML += `<tr><td>${arr.title}</td><td>${arr.date[0]}</td><td>${arr.date[1]}</td></tr>`;

        });

        document.body.appendChild(cap);

        document.body.appendChild(table);

        

    }

    show(tmpl());

    

    </script>

</body>

</html>

我这么写有没有什么不规范之类的,哪怕一点我也想知道,我感觉我写的有点无脑

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,对于你的问题解答如下:

  1. 因为每次循环使用innerHTML给table添加内容时,浏览器解析默认会在table下添加tbody标签。

  2. 因为word是变量,js语法中规定,放键名是变量时,需要使用中括号的形式获取到键值,即:map[word]

  3. 这个是经过调研的,一般一天的学习内容,10个问题是足够的。因为不能说,只看视频,这个是需要一个理解的过程的,学习之后,要慢慢消化。同时呢,要培养独立解决问题的能力,这个是以后工作中必不可少的。遇到问题可以先自己思考、查找资料等,先尝试自己解决,然后若不能解决,或者还是有不理解的内容再进行提问。

    以后我们在工作中肯定会遇到各种各样的问题,我们没办法每一个都去找同事帮忙解决,所以独立解决问题的能力很重要,同学可以从现在开始就培养,提升自己各方面的能力,相信同学一定会变得更棒。

祝学习愉快~

好帮手慕慕子 2020-08-03 11:53:50

同学你好,按下F12键,打开控制台,页面结构如下所示,caption标签在table标签外了,且table标签下有多个tbody标签,不符合代码规范

http://img1.sycdn.imooc.com//climg/5f2783ad0988734e09900578.jpg

建议修改:定义一个空字符串,循环时进行字符串拼接,循环结束后将table的innerHTML属性设置为字符串的拼接结果。

http://img1.sycdn.imooc.com//climg/5f278a0c092d191511740320.jpg

然后将标题追加到表格中

http://img1.sycdn.imooc.com//climg/5f278a1e09856d1205330109.jpg

最后去掉标题的设置的样式

http://img1.sycdn.imooc.com//climg/5f278a2b09ea236504680179.jpg

修改后的效果如下所示:

http://img1.sycdn.imooc.com//climg/5f278a4309cacebc07210798.jpg

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~


  • 提问者 Darkholme #1
    为什么我那样写会跑出来tbody啊?怎么自动加了tbody?
    2020-08-03 12:11:49
  • 提问者 Darkholme #2
    老师,网站有个设定非常不人性,24小时只能提十个问题...我确实有很多问题想问。那我就在这问好了。2-8 for-of那个视频的6:43。map[word ]为什么可以取到键值,取键值不是map.word吗
    2020-08-03 12:37:47
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师