我有一系列这样的音乐:
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>"));}
你能帮我吗?
在此示例中,您的循环不正确。为了循环循环阵列,您可以使用以下方法之一:
-
用于使用数组长度的循环: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 */ }
-
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 */ }
-
用于循环: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标签的括号订单和输入。