我有一个HTML页面(a.html),其中有另一个HTML页面(b.html)加载到其中(在div
中,ID为pag
)。使用以下代码加载b.html:
function load_page(){
$("#pag").html('<object id="MyPage" type="text/html" data="b.html"></object>');
}
我想从a.html页面列出/访问b.html页面上的元素。
我在a.html页面上做了类似的事情,使用:
function list_elements(){
elements = "The elements of page a.html are:";
$(document).find("*").each(function() {
element = $(this).prop("tagName");
elements = elements + "\r" + element;
});
write_elements_on_side_panel(elements);
}
上述代码适用于a.html页面,同时还显示已加载的b.html页面的OBJECT
标记名。但是,我似乎无法对b.html页面执行相同的操作。
我尝试使用children
进行迭代,如jquery iterate over child elements中所述
不幸的是,在查看控制台时,包含b.html页面的MyPage object
似乎没有任何子项。
有没有办法访问b.html页面上的HTML元素?
答案 0 :(得分:0)
很有可能在实际加载嵌入页面之前运行函数。请记住,加载功能仅在主页加载后执行,然后花费一些时间来获取并保存嵌入页面。
相反,您必须侦听某些事件,例如DOM中的更改事件,或者您必须在加载嵌入页面后主动触发函数执行。一个优雅的解决方案是监听更改事件,然后在加载并保存页面时发出该事件: - )