如何在javascript中使用class而不是id

时间:2014-05-16 03:06:06

标签: javascript jquery html audio

我想在以下脚本中使用class而不是id .... 我想要一个mp3列表,每个都有相应的按钮,但当我点击任何播放按钮时,它会播放第一个mp3。

<!DOCTYPE html>
<html>       
    <body>
        <button onclick="playVid()" type="button">Play</button>
        <audio controls id="video1" style="display: none;">
            <source src="http://localhost/astrorecords/wp-content/uploads/2014/05/280.mp3" type="audio/mp3">
        </audio>
        <script>
            var myVideo=document.getElementById("video1");
            function playVid() { 
                myVideo.play();
                var obj = document.getElementById("video1"); 
                if (obj) { 
                    obj.style.display='block'; 
                } 
             }
        </script>
    </body>
</html>

2 个答案:

答案 0 :(得分:0)

您可以使用 document.getElementsByClassName() 代替document.getElementById()

var myVideo = document.getElementsByClassName("video1")[0];

function playVid() {
    myVideo.play();
    var obj = document.getElementsByClassName("video1")[0];
    if (obj) {
        obj.style.display = 'block';
    }
}

<强> Fiddle Demo

答案 1 :(得分:0)

您应该使用on click的事件对象和目标属性(您刚刚单击的DOM元素)。例如:

function playVid(event) {
    var myVideo = event.target.nextSibling;
    myVideo.play();
    myVideo.style.display = 'block';
};

在显示当前元素之前,您很可能需要遍历所有元素并隐藏它们。

祝你好运。