如何在javascript中从列表中获取音频元素的src
当我点击播放该标签的按钮时,如何获得该标签的src 我有许多如何在javascript中从列表中获取音频元素的src,javascript,jquery,html,audio,Javascript,Jquery,Html,Audio,当我点击播放该标签的按钮时,如何获得该标签的src 我有许多li标签,每个li包含三个标签: 一个a标记,它获取将要播放的曲目的来源。=>完成 一个音频标签,与前面的元素类似;我只是用它来获取src,并为使用3元素获取它做好准备。=>还没做完 一个按钮标记,它获取与其相关的音频标记的src 当我单击每个按钮时,我希望该函数将audio或a标记的src返回给我,该标记对应于同一li标记中的该标记 这是我的密码: 得到这个轨道src onclick可以接受表示“click”事件的参数(如on
li
标签,每个li
包含三个标签:
a
标记,它获取将要播放的曲目的来源。=>完成音频
标签,与前面的元素类似;我只是用它来获取src,并为使用3元素获取它做好准备。=>还没做完按钮
标记,它获取与其相关的音频
标记的srcaudio
或a
标记的src返回给我,该标记对应于同一li
标记中的该标记
这是我的密码:
-
得到这个轨道src
onclick
可以接受表示“click”事件的参数(如onclick=“getTrack(event)”
)。在函数内部,单击事件有一个.target
属性,您可以使用它进入DOM并获取按钮元素本身。然后,您可以“走”到DOM树并选择不同的元素,如:
function getTrack(event){
const btn = event.target;
const li = btn.parentElement;
const audio = li.children[1];
const src = audio.getAttribute("src");
console.log(src);
}
始终为元素使用唯一id。在函数调用时传递元素并从中获取href属性
函数getTrack(id)
{
console.log(id.getAttribute(“src”))
}
-
得到这个轨道src
我想这就是你要找的。您可以按如下方式使用它:
函数getTrack(elm){
设$aud=$(elm).sides(“audio”).first();
log($aud.attr(“src”);
}
-
得到这个轨道src
没有jQuery,您可以使用它抓取按钮对应的音频
元素,并获取它的src
值
在这里,我还删除了内联JS,并在从DOM中选择按钮后使用它,这是编写JS的现代方式,并使您的标记更加精简。我曾经从单击的元素中获取previousElementSibling
,并将其重新标记为“audio”
const buttons=document.querySelectorAll(“#播放列表按钮”);
[…按钮].forEach(按钮=>button.addEventListener('click',getTrack,false));
函数getTrack(){
const{previousElementSibling:audio}=this;
console.log(audio.src);
}
-
得到这个轨道src
我不了解cod,但它很有效,谢谢bro@salah,请参阅我的编辑,希望您现在能理解。