1

我有一个页面通过 jQuery 的加载函数将其他 html 页面导入到 div 中:

$("#divId").load(pageLocation);

每个导入的页面都有一个与其名称关联的 id(page1.html、page2.html 等),我知道它可以访问 div 页面的代码并调用其变量。

我的问题是我需要当前导入的页面来检索它自己的 Id,以便将其与父页面中的变量进行比较,但是当我使用window.location.pathname它时,它会给出父页面的名称。

有没有一种方法可以检索导入页面的名称,而无需在所有导入页面中手动声明 id?

不,我不能使用pageLocation父页面中的 来进行比较。
在某些情况下,有多个 div 导入页面,但我不能让它们都同时执行自己的代码。这就是为什么我需要每个页面都知道自己的身份,以检查它们是否当前处于活动状态。

4

2 回答 2

2

当您加载这样的页面时,它的 DOM 将成为父 DOM 的一部分。页面文件名的概念不再存在。如果您使用 iFrame 而不是 div 并更改了 src,您将可以使用它。您可以将属性添加到加载该页面的 div 并将信息存储在那里。或者您可以保留一些全局变量,这些变量标识父级中的哪些 div 在当前时间加载了哪些页面。您还可以使用 body 标签的 id 属性并将文件名存储在其中。

真的,您只需要改变您的观点并了解当您加载到 div 时,您只是添加(或替换)了父页面的内容,您不会像使用 iFrame 那样将页面嵌套在另一个页面中

于 2013-05-10T21:05:48.180 回答
1

您加载的页面一旦加载就不再是页面,它是当前页面的一部分。如果您想保存有关原始页面的任何信息,我建议将其存储在 JavaScript 变量或您要插入内容的元素的数据属性中。

于 2013-05-10T21:10:14.477 回答