嵌入式html中的列表/访问元素

时间:2015-03-22 12:28:35

标签: jquery html loops embedded-resource elements

我有一个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元素?

1 个答案:

答案 0 :(得分:0)

很有可能在实际加载嵌入页面之前运行函数。请记住,加载功能仅在主页加载后执行,然后花费一些时间来获取并保存嵌入页面。

相反,您必须侦听某些事件,例如DOM中的更改事件,或者您必须在加载嵌入页面后主动触发函数执行。一个优雅的解决方案是监听更改事件,然后在加载并保存页面时发出该事件: - )