javascript - JQuery 的 $ ("*",文档)仅返回一项 : html

标签 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());
  });

警告框显示“未定义”。当我在控制台尝试“选择所有内容”时,

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

仅列出一项:框架的原始 html。

所以基本上我无法选择框架内的任何内容。看起来 DOM 还没有为框架的 HTML 内容构建(?)我错过了什么?

PS 不确定这是否相关,但它位于 Chrome 扩展程序的注入(inject)内容脚本中。

最佳答案

试试这个,

$("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
});

关于javascript - JQuery 的 $ ("*",文档)仅返回一项 : html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23402317/

相关文章:

php - 为什么我的 jQuery 函数没有按要求更改我的类?

jquery - CSS 不适用于 jQuery mobile 中动态创建的元素

javascript - Chrome 网上应用店扩展应用内购买 INTERNAL_SERVER_ERROR

javascript - Chrome - 跨源 XMLHttpRequest 似乎不适用于内容脚本

javascript - angular.js 更新变量的结果

jquery - Mouseenter/Mouseleave 简化 jQuery

javascript - 在 React 中从容器移动到子容器时如何阻止 onDragLeave 触发

javascript - 如何在 Chrome 扩展程序/应用程序中添加另一个 .html 页面?

javascript - 如何使弹出div可拖动

javascript - Grails 如何在 javascript 中获取用户名?