为什么我不能声明一个变量,将它转换为一个整数并在我的代码中使用该整数?

cle*_*oud 1 javascript html5-audio

我正在尝试创建音频文件的播放列表.html包含三个音频标签:

<ul id="myAudio">
    <li>
        <audio class="audio" id="1" controls>
            <source src="_audio/Clear_Vision.mp3" type="audio/mpeg" />
        </audio>
    </li>
    <li>
        <audio class="audio" id="2" controls>
            <source src="_audio/Greensleeves.mp3" type="audio/mpeg" />
        </audio>
    </li>
    <li>
        <audio class="audio" id="3" controls>
            <source src="_audio/Pavane21Sec.mp3" type="audio/mpeg" />
        </audio>
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

到目前为止我的javascript(jquery)是:

$(document).ready(function(){
    var audioElement = document.createElement('audio');

    var x = 1;
    x = parseInt(x);


    var deisredAudio = $('source:nth(0)').attr('src');

    audioElement.setAttribute('src', deisredAudio);

    $.get();

    audioElement.addEventListener("load", function(){
        audioElement.play();
    }, true);

    $('#playAudio').click(function(){
        audioElement.play();
    });

    $('#pauseAudio').click(function(){
        audioElement.pause();
    });
});
Run Code Online (Sandbox Code Playgroud)

只要我有一个整数,这将播放音频轨道$('source:nth(0)').

这将播放第一个音频,$('source:nth(1)')将播放第二个音频,依此类推.

我需要做的是插入一个变量,最终创建一个循环来循环并播放音轨.

当我声明一个变量x = 1,然后将其插入时$('source:nth(x)'),它不起作用.

请注意,我是用JavaScript自学的.

任何帮助或见解将不胜感激.

Jam*_*lly 5

你需要把它从引号中取出并传递给你的:nth()使用字符串连接:

$('source:nth(' + x + ')')
Run Code Online (Sandbox Code Playgroud)

...否则你正在使用字符文字"x".