2017-01-12 11 views
1

マイページにあるvimeo iframeの数に応じて変数を動的に設定しようとしています。イム以下の私のコードでevalメソッド使用:IVEは、IVEが間違っているので、わからない正しく連結のように見える私にJavaScriptで変数を動的に設定する

Uncaught SyntaxError: Unexpected identifier

var numberVimeoFrames = jQuery(".vimeo").length; 

for(i=1;i<=numberVimeoFrames;i++){ 
    var refFrame = jQuery('.vimeo:nth-child(' + i + ')'); 
    eval("player" + i + "= new Vimeo.Player(" + refFrame + ")"); 
} 

をマイevalのラインは、しかし、エラーメッセージを生成していますか?

+1

は 'refFrame'はjQueryのですオブジェクトであり、文字列ではなく、連結する意味がありません。 – Barmar

+11

動的変数が必要だと思うときは、間違っている可能性があります。配列やオブジェクトを使用する必要があります。変数にこのような数値の接尾辞がある場合は、配列でなければなりません。 – Barmar

+0

どのように配列で行うことができますか? –

答えて

1

この場合でもそれは悪いとは思わないが、一般的な意見はevalを一切使用しないことです。代わりに 使用アレイ:

var numberVimeoFrames = jQuery(".vimeo").length; 

var players = []; 
for(i=1;i<=numberVimeoFrames;i++){ 
    var refFrame = jQuery('.vimeo:nth-child(' + i + ')'); 
    players.push(new Vimeo.Player(refFrame)); 
} 

あなたは今の配列を呼び出すことによって、あなたの選手にアクセスすることができます(例えば選手[1]代わりplayer1ののように。)

関連する問題