Javascript从数组创建音频标记

Javascript从数组创建音频标记,javascript,html,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>"));} for(文件中的变量){ $(“

我有一系列这样的音乐:

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>"));}
for(文件中的变量){
$(“正文”).append($(“”);}

你能帮我一下吗。

在这个例子中,你的循环不正确。要在阵列上循环,可以使用以下方法之一:

  • 对于使用数组长度的循环:

    for(var i=0;i

  • Array.forEach:

    array.forEach(函数(项){/*项是您的项*/}

  • 对于循环次数:

    for(数组项){/*项是您的项*/}


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

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

    for(element in files)
    {
       $("body").append($("<audio> <source src='/audio/" + element + "' type='audio/mpeg'></audio>"));
    }
    
    for(文件中的元素)
    {
    $(“正文”)。追加($(“”);
    }
    

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

    var in files
    应该是
    元素in files
    谢谢,但我不知道为什么它不起作用。您可以在这里看到我的代码:如果您真的导入您正在使用的库(jQuery),它会起作用的_(ツ)_/¯