0

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

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

5 回答 5

3

每行的表达式后面都缺少分号,还有一些大括号。

SW.wmode = {
    init: function() {
        $('iframe').each(function() {
            var url = $(this).attr("src");
            $(this).attr("src",url+"?wmode=transparent");
        });
    }
};
于 2012-06-26T23:16:09.000 回答
1

您缺少each. 您的代码应该是:

SW.wmode = {
    init: function() {
    $('iframe').each(function(){
        var url = $(this).attr("src")
        $(this).attr("src",url+"?wmode=transparent")
        });
    }
}
于 2012-06-26T23:15:22.550 回答
1

试试这个:

SW.wmode = {
  init: function() {
  $('iframe').each(function() { //you were missing the brackets
      var url = $(this).attr("src")
      $(this).attr("src",url+"?wmode=transparent")
      });
  }
} 
于 2012-06-26T23:15:24.177 回答
0

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

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

这是有效的代码:

SW.wmode = {
  init: function () {
    $('iframe').each( function() {
      var url = $(this).attr('src');
      $(this).attr('src', url+"?wmode=transparent");
    });
  }
}
于 2012-06-26T23:21:00.790 回答
0

我稍微重构了你的代码:

SW.wmode = {
    init: function () {
        $( 'iframe' ).attr( 'src', function ( i, url ) { 
            return url + '?wmode=transparent';
        });
    }
};
于 2012-06-26T23:21:02.083 回答