使用Javascript将单元格数据从一个表格提取到另一个表格

时间:2015-10-16 14:53:08

标签: javascript html html-table cell duplicate-data

我不知道这是否可能,而且我一直在挖掘代码几个小时而没有运气,所以我要试一试。

我们说我的页面上有一张桌子。它包含以下内容:

<table id="srctb">
    <tr>
        <td>Users</td>
        <td>Musers</td>
        <td>Abusers</td>
    </tr>
    <tr>
        <td>50</td>
        <td>34</td>
        <td>16</td>
    </tr>
</table>

在另一页上,我有另一张桌子。它看起来像这样:

<table id="desttb">
    <tr>
        <td>Users</td>
        <td>Musers</td>
        <td>Abusers</td>
    </tr>
    <tr>
        <td> </td>
        <td> </td>
        <td> </td>
    </tr>
</table>

无需手动输入值,就像它们在srctb表中一样,我想用完全相同的值填充表desttb。

是否有一段javascript代码可以获取表srctb中单元格的值,并将其粘贴到表desttb中的单元格中?

非常感谢任何帮助!

编辑:如果没有办法用javascript做,我相信我可以在一定程度上使用jquery,但我不确定。我知道有更好的方法可以做到这一点,但不幸的是,这需要工作的网站的能力相当有限。

2 个答案:

答案 0 :(得分:0)

您可以将表的内容保存在localstorage对象中。

第1页:

window.onbeforeunload = function() { // when you switch page
  localStorage.setItem("content", document.getElementById("from").innerHTML); // save the data to localstorage
};

第2页:

window.onload = function () {
  var content = localStorage.content;
  if (content !== undefined) {
    document.getElementById("to").innerHTML = content;
  }
}

我希望这有效!

code example

答案 1 :(得分:0)

假设您可以使用jQuery 1.8或更高版本,您应该可以执行以下操作:

$.get('/srctab.html').done(function(data) {
  $.parseHTML(data).find('#srctb > *').appendTo('#desttb');
});

使用AJAX抓取另一个页面,将其解析为HTML,找到#srctb的后代,并将它们附加到#desttb。

我还没有对此进行测试,并且可能与每个表都有一个包含行的隐式或显式tbody的想法相冲突。

此外,如果您需要实际的数据值而不是整行,您将不得不使用一些更复杂的选择器来获取它们,但抓取页面并解析它的基本思想仍然适用。