【发布时间】:2009-10-16 22:42:02
【问题描述】:
这是我的问题:有一个内部问题跟踪系统,它有一个漂亮的摘要页面(按开发人员划分的未解决问题的数量等)但是,紧凑的摘要表被样板文件包围(导航菜单、搜索框、等)我想在我们团队的页面上嵌入汇总表,而不是周围的杂物。使用
标签: javascript html dom
这是我的问题:有一个内部问题跟踪系统,它有一个漂亮的摘要页面(按开发人员划分的未解决问题的数量等)但是,紧凑的摘要表被样板文件包围(导航菜单、搜索框、等)我想在我们团队的页面上嵌入汇总表,而不是周围的杂物。使用
标签: javascript html dom
如果你使用 jQuery,你可以很容易地拉取表格代码。现在,如果表中包含很少的脚本块,事情可能会变得很奇怪;同样,如果它依赖于某些样式表,请确保您的目标页面也有这些样式表。
表格是否被某种块级元素(a 或其他东西)包围?如果是这样,那么您可以加载页面(AJAX 或隐藏 iframe),通过“id”查找表,遍历父级,然后将其 html() 值移动到目标块。如果没有适合的块级父级,那么您可以尝试在目的地重建一个空表标签,然后从源表中拉出 html() 并将其放在那里;然而,有时事情开始变得有点奇怪,因为一些浏览器以有趣的方式处理表格布局。不过可能有用。
【讨论】:
团队和问题跟踪器是否在同一个域/地址上?
如果不是,那么您可能必须修改问题跟踪器才能获得所需的结果。出于安全原因,大多数浏览器不允许您跨不同域进行修改/访问。
如果它们在同一个域中,那么您可能会使用带有选择器的 jQuery 加载:
$("#destination").load("/path/to/table/ #tableid");
【讨论】:
有什么简单的可以扩展的吗?
function scrapeTable(tableId)
{
var tables = document.getElementsByTagName("table");
for (var i = 0; i < tables.length; i++)
{
if (tables[i].id == tableId)
{
alert("<table>" + tables[i].innerHTML + "</table>");
}
}
}
【讨论】: