2012-06-26 63 views
0

嗨,我得到一個語法錯誤,在我的VAR URL行,但我似乎無法找出什麼 或者爲什麼要這樣,幫助表示讚賞init的JQuery的語法錯誤

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

回答

1

你缺少函數參數的打開和關閉大括號爲each。您的代碼應該是:

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

就是這樣,感謝丹等強制性8 looong分鐘接受。 – ehime

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

你錯過了分號,以及一些支撐。

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

+1用於額外校正縮進並在末尾添加分號。 –

0

那麼,你錯過了一些花括號......嘗試通過JavaScript驗證程序(如jshint或jslint)來運行你的代碼來幫助你捕獲這些東西。

大多數合理的文本編輯器都會有一個插件,可以指出保存時的任何驗證錯誤,以便您不必在瀏覽器中進行奇怪的故障排除......或者在這裏! ;)

以下是有效的代碼:

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

我重構你的代碼位:

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