init的JQuery语法错误

时间:2012-06-26 23:12:11

标签: javascript jquery

嘿伙计我在我的var url线上遇到语法错误,但我似乎无法弄明白 它是什么或为什么,帮助赞赏

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

5 个答案:

答案 0 :(得分:3)

在每行的表达式和一些大括号之后,你会丢失分号。

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

答案 1 :(得分:1)

您错过了each函数参数的开括号和右括号。你的代码应该是:

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

答案 2 :(得分:1)

试试这个:

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

答案 3 :(得分:0)

好吧,你错过了一些花括号......尝试通过jshint或jslint之类的javascript验证程序来运行你的代码,以帮助你捕捉这些东西。

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

这是有效的代码:

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

答案 4 :(得分:0)

我重构了你的代码:

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