Javascript onclick变量不起作用

时间:2014-11-26 00:38:27

标签: javascript

有人可以告诉我为什么这不起作用:

<a href="#" onclick="play('playlist1');">Play Playlist1</a>
function play(id){
    myPlaylist.setPlaylist(id);
}

这是有效的:

<a href="#" onclick="play();">Play Playlist1</a>
function play(){
    myPlaylist.setPlaylist(playlist1);
}

还有一个名为playlist1的变量

var playlist1 = [
    {
        title:"Title",
        artist:"artist",
        mp3: "pathtofile"
    }];

所以我需要第一个设置变量以获得正确的播放列表。

它是相同的值,所以它真的很奇怪,  但我需要第一个工作

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

如果您的第一个非工作示例是将'playlist1'作为字符串传递,而不是playlist1变量。简单地删除单引号就足以解决它。

示例:

<a href="#" onclick="play(playlist1);">Play Playlist1</a>
function play(id){
    myPlaylist.setPlaylist(id);
}

另一种解决方案是通过window[id]按字符串名称查找变量。

示例:

<a href="#" onclick="play('playlist1');">Play Playlist1</a>
function play(id){
    myPlaylist.setPlaylist(window[id]);
}