【发布时间】:2016-12-19 17:22:18
【问题描述】:
对 js 相当陌生,因此尝试了解基础知识。
我有一个项目,其中有一个包含歌曲列表的 div:
<div id="songs">
<p>01 a la verticale <span class="title">[play]</span></p>
<audio class="song" id="verticale" src="Songs/01_a_la_verticale.mp3" onended="audioEnd()"></audio>
<p>02 éphémère <span class="title">[play]</span></p>
<audio class="song" id="ephemere" src="Songs/02_ephemere.mp3" onended="audioEnd()"></audio>
<p>03 geste humain <span class="title">[play]</span></p>
<audio class="song" id="geste" src="Songs/03_geste_humain.mp3" onended="audioEnd()"></audio>
<p>04 la seule chose <span class="title">[play]</span></p>
<audio class="song" id="chose" src="Songs/04_la_seule_chose.mp3" onended="audioEnd()"></audio>
</div>
在我的 html 中,每个 p 标签都有一个跨度,上面写着“play”,我正在尝试实现该功能。
我知道如何使用 .play 和 .pause 等...但我的问题是如何获取点击歌曲的音频元素。这是我尝试过的:
jQuery :
$(".title").click(function() {
var myAudioElement = $(this).parent().next("#song");
var myId = myAudioElement.attr('id');
alert(myId);
});
我现在只想找到元素。我的逻辑是标签跨度在 p 标签内,因此,从单击的跨度开始,我需要先到达其父级(p 标签),然后带有参数“song”的 next() 将给我下一个元素(音频)在具有歌曲 ID 的 div 中。
但警报框返回“未定义”。
我做错了什么?
【问题讨论】:
标签: javascript jquery html css audio