JQuery' s $(" *",document)只返回一个项目:html

时间:2014-05-01 05:04:41

标签: javascript jquery google-chrome-extension

我有一个页面上有两个框架,我已设法响应其中一个框架的重新加载。在重新加载的处理程序中,我试图使用jQuery在新加载的框架上选择一个项目,如下所示:

  $("frame[name=WorkArea]").on("load", function () {
    console.log("Reloaded work area."); //this works fine
    alert($("tr.hdr", "frame[name=WorkArea]").html());
  });

警告框显示" undefined。"当我在控制台进行实验时,选择所有内容',

$("*", "frame[Name=WorkArea]")

只列出了一个项目:框架的原始html。

所以基本上我不能在框架内选择任何东西。看起来DOM还没有为框架的HTML内容构建(?)我缺少什么?

PS不确定这是否相关,但它是针对Chrome扩展程序的注入内容脚本。

2 个答案:

答案 0 :(得分:1)

试试这个,

$("frame[name=WorkArea]").on("load", function () {
   console.log("Reloaded work area."); //this works fine
   alert($(this).contents().find('tr.hdr').html()); // use this and find() here
});

答案 1 :(得分:0)

尝试在jquery

中使用 .find()
$("*").find("frame[name=WorkArea]").html();

 $(document).find("frame[name=WorkArea]").html();