我不知道这是否可能,而且我一直在挖掘代码几个小时而没有运气,所以我要试一试。
我们说我的页面上有一张桌子。它包含以下内容:
<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,但我不确定。我知道有更好的方法可以做到这一点,但不幸的是,这需要工作的网站的能力相当有限。
答案 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;
}
}
我希望这有效!
答案 1 :(得分:0)
假设您可以使用jQuery 1.8或更高版本,您应该可以执行以下操作:
$.get('/srctab.html').done(function(data) {
$.parseHTML(data).find('#srctb > *').appendTo('#desttb');
});
使用AJAX抓取另一个页面,将其解析为HTML,找到#srctb的后代,并将它们附加到#desttb。
我还没有对此进行测试,并且可能与每个表都有一个包含行的隐式或显式tbody的想法相冲突。
此外,如果您需要实际的数据值而不是整行,您将不得不使用一些更复杂的选择器来获取它们,但抓取页面并解析它的基本思想仍然适用。