Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript将单元格数据从一个表拉到另一个表_Javascript_Html_Html Table_Cell_Duplicate Data - Fatal编程技术网

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

使用Javascript将单元格数据从一个表拉到另一个表,javascript,html,html-table,cell,duplicate-data,Javascript,Html,Html Table,Cell,Duplicate Data,我不知道这是否可行,而且我已经在代码上翻了好几个小时了,运气也不好,所以我要试试看 假设我有一张桌子在一页纸上。它包含以下内容: <table id="srctb"> <tr> <td>Users</td> <td>Musers</td> <td>Abusers</td> </tr> <tr>

我不知道这是否可行,而且我已经在代码上翻了好几个小时了,运气也不好,所以我要试试看

假设我有一张桌子在一页纸上。它包含以下内容:

<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>

使用者
缪斯
滥用者
50
34
16
在另一页上,我有另一张桌子。看起来是这样的:

<table id="desttb">
    <tr>
        <td>Users</td>
        <td>Musers</td>
        <td>Abusers</td>
    </tr>
    <tr>
        <td> </td>
        <td> </td>
        <td> </td>
    </tr>
</table>
$.get('/srctab.html').done(function(data) {
  $.parseHTML(data).find('#srctb > *').appendTo('#desttb');
});

使用者
缪斯
滥用者
不必像在srctb表中那样手动输入值,我希望使用完全相同的值填充表desttb

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

非常感谢您的帮助


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

您可以将表的内容保存在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;
  }
}
我希望这能奏效


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

<table id="desttb">
    <tr>
        <td>Users</td>
        <td>Musers</td>
        <td>Abusers</td>
    </tr>
    <tr>
        <td> </td>
        <td> </td>
        <td> </td>
    </tr>
</table>
$.get('/srctab.html').done(function(data) {
  $.parseHTML(data).find('#srctb > *').appendTo('#desttb');
});
这将使用AJAX获取另一个页面,将其解析为HTML,查找#srctb的后代,并将其附加到#desttb

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


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

换句话说,您希望复制表
srctb
的内容?您所说的“在不同的页面上”是什么意思:在包含
srctb
的页面之后加载的是新的浏览器页面吗?@最后面的是,我想将表srctb的内容复制到表desttb。AXELAMTOR将desttb编码到站点的html布局中。内容需要经常更新。不幸的是,我是唯一一个可以进行html编码并更新desttb的人。然而,由于缺乏更好的描述,srctb被作为代码粘贴在网站“前端”的帖子中。对于与我一起工作的人来说,编辑它要容易得多,因为他们不必通过html来获得它。因此,当他们更新该表时,它需要自动拉到desttb。如果这些表位于不同的页面上,则无法通过javascript进行此类复制。您必须通过服务器端方式完成此操作。@AxelAmthor(抱歉,在第一次回复时就搞糟了标记)desttb被编码到站点的html布局中。内容需要经常更新。不幸的是,我是唯一一个可以进行html编码并更新desttb的人。然而,由于缺乏更好的描述,srctb被作为代码粘贴在网站“前端”的帖子中。对于与我一起工作的人来说,编辑它要容易得多,因为他们不必通过html来获得它。因此,当他们更新该表时,它需要自动通过desttb。恐怕运气不好,但感谢您的尝试@VexVaudlain是否使用服务器/本地主机?这很可能是用户错误。我只是想确定一下,我只是在安装上面引用的代码,是吗?我可以在第1页和第2页的代码中的任何地方安装它?@VexVaudlain你能澄清你的问题吗?我正在使用“代码示例”中的文件,并使用
python3-mhttp.server
为其提供服务。@myCyborg该死的。。。是的,如果网站有能力的话,那就行了。就像我之前提到的,它在能做什么和不能做什么方面都非常有限。我想我得试试别的。谢谢你的帮助!