㍿532 2022-10-09 13:02 采纳率: 100%
浏览 20
已结题

js获取追加的数组元素

我想点击按钮就向datas数组追加一个对象,追加是能追加,但是下面的代码好像获取不到追加的对象

// 1 准备数据
        var datas = [{
                name:'子参',
                subject:'javaScript',
                score:100
            }, {
                name:'子商',
                subject:'javaScript',
                score:100
            }, {
                name:'子长',
                subject:'javaScript',
                score:100
            }, {
                name:'子元',
                subject:'javaScript',
                score:100
            }];

            // (增加数据)
            // 点击提交,把姓名,年龄,分数提交到表单
            var btn = document.querySelector('button');
            var uname = document.querySelector('.name')
            var subject = document.querySelector('.subject')
            var score = document.querySelector('.score')
            btn.addEventListener('click',function() {
                // 获取输入的内容
                var unames = uname.value
                var subjects = subject.value 
                var scores = score.value
                //把内容给datas
                datas.push({
                    name: unames,
                    subject: subjects,
                    score: scores
                })
                console.log(datas);
            })


            // 2 放到tbody里
            var tbody = document.querySelector('tbody');
            // 遍历一遍数组,有多长(多少人)就加多少行
            for (var i = 0; i < datas.length; i++) {
                var tr = document.createElement('tr');//创建行
                tbody.appendChild(tr);//添加行
                //数组里面每个对象有多少个属性,有多少个就加几个td  datas[i]数组的每个对象
                //遍历数组里的对象(遍历对象),有多少行就遍历多少遍
                for (var k in datas[i]) {//外面的for管tr,里面的for管td
                    var td = document.createElement('td');//创建td
                    td.innerHTML = datas[i][k];//为td添加值
                    tr.appendChild(td);//添加td
                }
                //创建每行最后一个单元格(td)
                var td = document.createElement('td');
                td.innerHTML = "删除";
                tr.appendChild(td);
            }

img

img

想不到好方法,不太懂JavaScript,求解答

能把追加的对象成功生成在表单

  • 写回答

2条回答 默认 最新

  • ㍿532 2022-10-09 13:24
    关注

    已解决

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月17日
  • 已采纳回答 10月9日
  • 创建了问题 10月9日

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看