在特定div中的chrome扩展中操作DOM

时间:2019-03-31 11:39:03

标签: javascript jquery google-chrome-extension

如果我在background.js中编写此代码,就可以了:

$("body").append('<p>hello<p/>');

但是,如果我想在html的特定div中编写,则无法编写我的元素:

$('.re-DetailFeatures').first().before('<p>hello<p/>');

这些是我的“ content_scripts”:

    "content_scripts": [ {
        "js": [ "jquery.min.js", "background.js" ],
        "matches": [ "http://*/*", "https://*/*"]
      }],

以及ir给我的错误: “未捕获的TypeError:$(...)。first不是函数”

1 个答案:

答案 0 :(得分:-2)

您需要确保在脚本运行之前调用jQuery文件。体内的脚本标签在加载jquery.min.js之前运行,因为它是在文档末尾调用的。要解决此问题,您可以:

  • 将jQuery放入HEAD标签
  • 将脚本标签包装在文档就绪事件处理程序中。有关更多信息,请修订this Answer