2010-11-01 64 views
1

我在頁面上有一堆vimeos,我想讓它們全部靜音,因爲它們會同時播放。jQuery - 通過多個對象迭代API命令,但通過唯一ID?

我已經在只有一個vimeo工作。因爲它需要每個vimeo的唯一ID。 但我不想對視頻做不同的事情。我只想給他們一個規則,而且顯然不必每次上傳新vimeo時都寫出來。

var iframe = document.getElementById("player_1"); 
iframe.api("api_setVolume", 50); 

我試着讓所有的vimeo的ID = player_1,但是這不起作用。 由於某些原因,JS中沒有getElementByClass,應該沒有?這對於這樣的事情會很有用。

任何幫助將不勝感激。謝謝。

這裏是testpage

回答

1

由於這是標籤的jQuery,我我會給你一個解決方案,工作,雖然我還沒有嘗試搞亂iframe類。

class="vimeo"添加到iframe。通過將它們與下面的迭代:

$(".vimeo").each(function() { 
    this.api("api_setVolume",50); 
}); 

each將迭代通過所有的由選擇信息相匹配的元素(在此情況下,vimeo)。

編輯

因爲jQuery的似乎不喜歡iframe出現搞亂,有做什麼已經爲你工作更編程方式:

var player_count = 2; 
for (var i = 1; i < player_count+1; i++) { 
    var iframe = document.getElementById("player_" + i); 
    iframe.api("api_setVolume", 50); 
    //put other global rules here... 
} 

訣竅現在是確定什麼player_count應該。

+0

嗯我猜jQuery不喜歡iFrames ...即使我用「css(」visibility「,」hidden「)替換api調用;」例如,它不會做任何事情......可能有另一種方式? – RGBK 2010-11-01 19:41:19

+0

(你可以看到我的意思是在原來的鏈接) – RGBK 2010-11-01 19:43:22

+0

你打我吧(回答我的新問題!) – RGBK 2010-11-01 19:52:12