Javascript从数组创建音频标记

时间:2017-06-27 11:20:34

标签: javascript html

我有一系列类似的音乐:

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>"));}
你能帮帮我吗?

2 个答案:

答案 0 :(得分:2)

在此示例中,您的循环不正确。要循环遍历数组,您可以使用以下方法之一:

  1. for循环使用数组长度: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. 循环的
  4. https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/for...of

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

  5. 请注意,您必须检查最后两种方法支持的浏览器。

答案 1 :(得分:0)

在for循环中,您不需要包含变量声明。 你的循环应如下所示:

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

注意我添加了额外的+符号并更改了src标记的括号顺序和类型。