4

我正在使用 jPLayer 为一个项目播放 mp3。他们的 mp3 将从数据库中动态加载。我正在尝试创建将所选 mp3 加载到播放器中的链接。目前我有哪个不起作用。我相信我在点击事件告诉我要播放什么 mp3 时做错了。如果我对路径进行硬编码,它可以正常工作,但我不想那样设置它,因为可能有数百个媒体文件。

$(文档).ready(函数(){

    $("#jquery_jplayer_1").jPlayer({
         准备好:函数(){
            $(this).jPlayer("setMedia", {
            mp3:“http://www.jplayer.org/audio/mp3/Miaow-07-Bubble.mp3”
        }).jPlayer("播放");
         },
         结束:功能(事件){
        $(this).jPlayer("play");
         },
         swfPath: "js",
         提供:“mp3”
    });

       $(".song").click(function() {
       $("#jquery_jplayer_1").jPlayer("setMedia", {
        mp3: $(this).attr("name").val();
       });
        $("#jquery_jplayer_1").jPlayer("play");
    返回假;
    });

});


        <a href="#" class="song" name="http://www.jplayer.org/audio/mp3/Miaow-07-Bubble.mp3">Song 3</a>
        <a href="#" class="song" name="http://www.jplayer.org/audio/mp3/Miaow-04-Lismore.mp3">Song 4</a>

此代码确实有效,但我想从 href 获取信息

$(".song").click(function() {
        $("#jquery_jplayer_1").jPlayer("setMedia", {
            mp3:“http://www.jplayer.org/audio/mp3/Miaow-04-Lismore.mp3”
        });
        $("#jp_playlist_1 ul").html("
  • 利斯莫尔 - MP3
  • "); $("#jquery_jplayer_1").jPlayer("play"); 返回假; });
    4

    1 回答 1

    6

    尝试改变$(this).attr("name").val();这个$(this).attr("name");

    一个好主意是:

    <a  class="song" href="http://www.jplayer.org/audio/mp3/Miaow-07-Bubble.mp3">Song 3</a>
    

    进而

    $('.song').click(function(eve){
    eve.preventDefault();
    ...
    ...
    ...
    
    });
    

    而且当然

    mp3: $(this).attr("href")
    
    于 2011-04-12T19:23:50.657 回答