使用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该死的。。。是的,如果网站有能力的话,那就行了。就像我之前提到的,它在能做什么和不能做什么方面都非常有限。我想我得试试别的。谢谢你的帮助!