Javascript jQuery没有从我的选择器中检测到任何东西

Javascript jQuery没有从我的选择器中检测到任何东西,javascript,jquery,google-chrome-extension,Javascript,Jquery,Google Chrome Extension,我正在延期。我的content.js中有以下代码: var elems2=$(“div[id^='ad-'],div[id*='ad-']); console.log(elems2.length); $(窗口).on('load',function(){ 对于(变量i=0,max=elems2.length;i

我正在延期。我的
content.js中有以下代码:

var elems2=$(“div[id^='ad-'],div[id*='ad-']);
console.log(elems2.length);
$(窗口).on('load',function(){
对于(变量i=0,max=elems2.length;i

当文档未准备好时,您正在初始化elems2 var,这可能会导致您在试图检测的元素不存在之前执行初始化脚本

试试这个

var elems2 = null;
$(window).on('load', function() {
    for (var i = 0, max = elems2.length; i < max; i++) {
        elems2.hidden = true;
    };
});

$(document).ready(function() {
    elems2 = $("div[id^='ad-'],div[id*=' ad-']");
    for (var i = 0, max = elems2.length; i < max; i++) {
        elems2.hidden = true;
    };
});

for (var i = 0, max = elems2.length; i < max; i++) {
    elems2.hidden = true;
};
var elems2=null;
$(窗口).on('load',function(){
对于(变量i=0,max=elems2.length;i
如果使用属性“contains”选择器(),则无需添加“start with”选择器

即使用:
$(“div[id*='ad'])

此外,我不确定您是如何加载jquery的,但请确保在“load”事件中包含var的定义

$(窗口).load(函数(){
var elem2=$(“div[id*='ad']);
$。每个(elem2,函数(idx,elem){
log(idx+“-”+$(elem.text());
$(elem).addClass('with-ad');
});
});
。带有广告{
边框:1px纯绿色;
}

以“ad”开头
不以“ad”开头
包含“广告”
不包含“ad”
以“广告”结尾
不以“广告”结尾

id用空格表示?Move
var elems2=$(“div[id^='ad-'],div[id*='ad-'])内部文档就绪处理程序和标识符不能包含空格。使用
elems2.hidden
,您想实现什么?@Satpal使其不可见/隐藏在页面中我猜…@Jai,jQuery对象是否具有
hidden
属性?请在您的问题中包含一个。我们不能只对JS进行故障排除,我们还需要HTML,这样我们就可以了解为什么一些选择器不能工作。
$(window).load(function() {
    var elem2 = $("div[id*='ad']");
    ...
 });