Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery错误-无法调用方法';指数';未定义的_Jquery - Fatal编程技术网

jQuery错误-无法调用方法';指数';未定义的

jQuery错误-无法调用方法';指数';未定义的,jquery,Jquery,我有以下代码来解决在z索引中所有内容上的flash跳跃问题: $("iframe").each(function(){ var ifr_source = $(this).attr('src'); var wmode = "wmode=opaque"; if(ifr_source.indexOf('?') != -1) { var getQString = ifr_source.split('?'); var oldString = getQ

我有以下代码来解决在z索引中所有内容上的flash跳跃问题:

$("iframe").each(function(){
    var ifr_source = $(this).attr('src');
    var wmode = "wmode=opaque";
    if(ifr_source.indexOf('?') != -1) {
        var getQString = ifr_source.split('?');
        var oldString = getQString[1];
        var newString = getQString[0];
        $(this).attr('src',newString+'?'+wmode+'&'+oldString);
    }
    else $(this).attr('src',ifr_source+'?'+wmode);
});
由于某种原因,我在indexOf上出现了错误,它正在破坏网站。但奇怪的是,它并没有完全破坏它,只是我在那里有一个css调整大小的补丁

未捕获的TypeError:无法调用未定义的方法“indexOf”

网址如下:


我很想知道为什么会发生这种情况。

可能您的
iframe
没有声明任何
src
属性

要避免错误,请执行以下操作:

var ifr_source = $(this).attr('src') || "";
编辑:在此处查看源确实是:

<iframe id="likeit"></iframe>

直接从
this
获取
src
。您不需要为此创建整个jQuery对象

ifr_source = this.src;

作为奖励,
this.src
返回一个空字符串,即使属性
src
未设置,而jQuery的
attr
返回
未定义的
,并且在使用
indexOf
之前必须执行一个检查,这很奇怪,因为这样就不会产生所需的效果,添加?wmode=不透明。但它确实停止了错误。如果添加它,将导致无限循环,因为iframe将引用同一页。抱歉,我不明白,我的目标是检查iframe src中是否有问号,如果有,我可以将参数附加到该字符串(这将停止youtube flash视频的z索引问题。我不明白为什么在你检查了新代码后,它会导致一个inifinte循环,这不是违背了代码的要点吗?感谢你的时间和耐心。我的全部观点是忽略没有源代码的iframe
,它应该可以正常工作(像以前一样)框架指向某处。
ifr_source = this.src;