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>"));}

你能帮我吗?

在此示例中,您的循环不正确。为了循环循环阵列,您可以使用以下方法之一:

  1. 用于使用数组长度的循环:https://developer.mozilla.org/en/docs/web/javascript/reference/global_objects/array/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/foreach

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

  3. 用于循环:https://developer.mozilla.org/en/docs/web/javascript/reference/reference/statement/statement/statements/for...of

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

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

在for循环中,您不需要包含变量声明。您的循环应该看起来像这样:

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

注意,我添加了一个额外的 标志,并更改了SRC标签的括号订单和输入。

最新更新