2017-06-27 12 views
1

からのオーディオタグを作成します。Javascriptが、私はそのような音楽の配列持つ配列

var files=["song1.mp3","song2.mp3","song3.mp3", "song4.mp3"] 

をそして、私は、オーディオタグにすべてを表示したい、私はこれをやったが、それは動作しません。

for (var in files){ 
$("body").append($("<audio> <source src="+"/audio/" + element" type='audio/mpeg'></audio>"));} 

お願いします。

+0

'files'を内varがfiles'を –

答えて

2

この例では、ループが正しくありません。配列の長さを使用してforループ

  1. :配列をループするには、次のいずれかの方法を使用することができますhttps://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/length

    for (var i = 0; i < array.length; i++) { /* array[i] is your item */ }

  2. Array.forEach:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach

    array.forEach(function(item) { /* item is your item */ }

  3. forループ:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/for...of

    for (item of array) { /* item is your item */ }

あなたは、最後の二つの方法のためにサポートされているブラウザを確認する必要があります注意、。

+0

の要素がありがとう、それが動作しない理由を私は知らない'でなければなりません。 あなたがここに私のコードを見ることができます:あなたが実際にあなたが(jQueryの)を使用しているライブラリをインポートするかどう、https://codepen.io/PiR1/pen/wePPvB – PiR

+0

まあ、それはうまくいく¯\ _(ツ)_ /¯ – j6s

0

forループの内部では、変数宣言を含める必要はありません。 あなたのループは次のようになります。

for(element in files) 
{ 
    $("body").append($("<audio> <source src='/audio/" + element + "' type='audio/mpeg'></audio>")); 
} 

注私は、余分な+記号を追加し、SRCタグ用ブラケットの順序と種類を変更しました。

関連する問題