我有一个页面可以动态创建多个表“全部使用静态表类名”,但每个表都有一个唯一的 id 名称。用户可以编辑每个表,然后在提交时保存更改。需要的是修改后的表中的数据将被选中并发送到服务器。我使用带有类名的单个表实现了代码,效果很好,下面是代码: var rows = [].slice.call($('.TableStaticClassName')[0].rows); var keys = [].map.call(rows.shift().cells, function (e) { return e.textContent.replace(/\s/g, ''); }); var result = rows.map(function (row) { return [].reduce.call(row.cells, function (o, e, i) { o[keys[i]] = e.textContent; return o; }, {}) });问题是当我尝试在有多个表时使用此代码时。例如,我现在所拥有的如下所示:<table class="TableStaticClassName" id="12345"></table><table class="TableStaticClassName" id="23456"></table><table class="TableStaticClassName" id="34567"></table>当我有多个表时,我将无法使用表类名称,因为它将从所有表中选择数据。因此,当我尝试使用表 id 和如下代码从单个表中选择数据时var x = document.getElementById("12345").rows[0].cells.length;甚至我在单个表上使用的示例,例如var rows = [].slice.call($('#12345')[0].rows);我收到错误“TypeError: undefined is not an object”,我无法读取已更改表的行内容。我尝试了不同的解决方案和实现,但它们最终都给了我同样的错误。任何帮助,将不胜感激。先感谢您
添加回答
举报
0/150
提交
取消