初始化的 JQuery 语法错误

JQuery syntax error for init

本文关键字:错误 语法 JQuery 初始化      更新时间:2023-09-26

嘿伙计们,我的var url行上出现了语法错误,但我似乎无法弄清楚它是什么或为什么,帮助赞赏

SW.wmode = {
    init: function() {
    $('iframe').each(function()
        var url = $(this).attr("src")
        $(this).attr("src",url+"?wmode=transparent")
        );
    }
}

每行表达式后缺少分号和一些大括号。

SW.wmode = {
    init: function() {
        $('iframe').each(function() {
            var url = $(this).attr("src");
            $(this).attr("src",url+"?wmode=transparent");
        });
    }
};

您缺少函数参数的左大括号和右大括号以each 。 您的代码应该是:

SW.wmode = {
    init: function() {
    $('iframe').each(function(){
        var url = $(this).attr("src")
        $(this).attr("src",url+"?wmode=transparent")
        });
    }
}

试试这个:

SW.wmode = {
  init: function() {
  $('iframe').each(function() { //you were missing the brackets
      var url = $(this).attr("src")
      $(this).attr("src",url+"?wmode=transparent")
      });
  }
} 

好吧,你缺少一些大括号...尝试通过 jshint 或 jslint 等 JavaScript 验证器运行代码,以帮助您捕获这些内容。

大多数合理的文本编辑器都会有一个插件,可以指出保存时的任何验证错误,这样你就不必在浏览器中进行奇怪的故障排除;)。

以下是有效代码:

SW.wmode = {
  init: function () {
    $('iframe').each( function() {
      var url = $(this).attr('src');
      $(this).attr('src', url+"?wmode=transparent");
    });
  }
}

我稍微重构了一下你的代码:

SW.wmode = {
    init: function () {
        $( 'iframe' ).attr( 'src', function ( i, url ) { 
            return url + '?wmode=transparent';
        });
    }
};
相关文章: