2014-06-20 36 views
0

我试图调用Froogaloop为单个页面上的各种iframe,但this只返回playerID的第一个字符('vimeo1','vimeo2 '等)jQuery只发送字符串的第一个字符与每个()和这

我在每个()之前立即记录playerId(一个字符串)并且它返回正常,但是一旦我进入每个(),this就变成“v”。

jQuery(playerId).each(function(){ 
    Froogaloop(this).addEvent('ready', ready); 
}); 

谢谢!

+0

你是否一次一个传递'playerID'?换句话说,你的'playerID'是一串字符串还是单个字符串? –

+0

我不明白你的问题。如果'playerId'是一个字符串,就像你说的那样,'$()'将把它解释为一个*选择符*。如果它不是一个有效的选择器(可能不是),那么没有任何东西会匹配,并且each()不会有任何东西可以迭代。 –

+0

为了澄清,我通过拉动某一类中的所有元素,然后让它们的ID抢ID: jQuery的每个(函数(){ \t \t变种ID = this.id; (“播放器”。)。 \t \t playersList.push(id); \t}); – RoboRob

回答

1

你是否在页面上使用playerID引用一个元素? “vimeo1”是类名还是ID?如果是这样,字符串需要是.vimeo1#vimeo1。这样一来,jQuery将搜索元素像jQuery('.vimeo1')代替jQuery('vimeo1')

var playerId = '.vimeo1'; 

jQuery(playerId).each(function(){ 
    Froogaloop(this).addEvent('ready', ready); 
}); 
+0

我的天啊。谈谈基本的。我在上面使用了一些其他的条件,在需要时添加“#”,这不起作用,所以我认为这不是问题。事实证明,条件是混乱。非常感谢你的帮助! – RoboRob

0

我不知道期待什么样的参数froogaloop的,但如果它是一个字符串从playerID数组这应该做你想要什么:

$.each(playerId, function(index, value){ 
    Froogaloop(value).addEvent('ready', ready); 
}) 
相关问题