对于程序JPlayer,我想在jQuery语句的播放列表参数中创建任意数量的{..},{..}。 "最新"变量将具有格式{mp3:filename},{mp3:filename2} ...我似乎无法找到正确的语法来创建" newtest"。
此代码有效:
var filename = "/mymusic/" + mydata[1];
// var newtest = new String('{ mp3: filename }');
script(type='text/javascript').
//<![CDATA[
$(document).ready(function() {
var myPlaylist = new jPlayerPlaylist({
jPlayer: "#jquery_jplayer_N",
cssSelectorAncestor: "#jp_container_N"
},
[
// newtest
{
mp3: filename
}
],....
此代码不会创建错误但无法访问我的音乐文件:
var filename = "/mymusic/" + mydata[1];
var newtest = new String('{ mp3: filename }');
script(type='text/javascript').
//<![CDATA[
$(document).ready(function() {
var myPlaylist = new jPlayerPlaylist({
jPlayer: "#jquery_jplayer_N",
cssSelectorAncestor: "#jp_container_N"
},
[
newtest
// {
// mp3: filename
// }
],...
以下两个答案都有效:
var newtest = { mp3: filename };
var myplayList = [
{ mp3: filename1 },
{ mp3: filename2 }
]
由于
答案 0 :(得分:1)
为什么不以更易读的方式创建值 first ,然后传入数据?
这样,您就可以传递正确的结构。
您的parameter
是一个对象。
参数的newtest
值实际上是一个集合 - array
objects
。
在下面的代码中,您可以更轻松地查看正在进行的操作:
var params = {
jPlayer: '#jquery_jplayer_N',
cssSelectorAncestor: '#jp_container_N'
}
// This is an array of objects
var playList =[
{ mp3: 'filename1' },
{ mp3: 'filename2' },
{ mp3: 'filename3' }
]
var myPlaylist = newjPlayerPlaylist(params, playList);
答案 1 :(得分:0)
看起来您在两个代码块中传递了不同的数据类型。 在第一个代码块中,您传递的数组包含一个对象:
[
// newtest
{
mp3: filename
}
]
在第二个代码块中,newtest
是一个字符串,因此您最终传递的数组包含字符串。
将newtest
设为var newtest = { mp3: filename };
,它应该有效。