jQuery-いくつかのオブジェクトを介してAPIコマンドを反復しますが、一意のIDを介して?

StackOverflow https://stackoverflow.com/questions/4072277

質問

私はページにVimeosのスタックを持っています、私はそれらが同時にプレイするので、それらをすべてミュートにしたいです。

私はそれが1つのVimeoで働いているだけです。各Vimeoの一意のIDが必要なため。しかし、私はビデオにさまざまなことをすることに興味がありません。私は彼らに1つのルールを与えたいだけで、明らかに新しいVimeoをアップロードするたびに書き出す必要はありません。

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

すべてのVimeoのID = player_1を作成してみましたが、それはうまくいきません。何らかの理由で、JSにはgetelementbybyclassはありませんが、ないはずですか?このようなことに役立ちます。

どんな助けも大歓迎です。ありがとう。

これが次のとおりです テストページ

役に立ちましたか?

解決

これにはjqueryがタグ付けされているので、私はあなたにその解決策を与えます したほうがいい そのために働きますが、私はiframeクラスをいじってみませんでしたが。

追加 class="vimeo" iframesに。以下でそれらを繰り返します:

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

each セレクターによって一致するすべての要素を繰り返します(この場合、 vimeo).

編集

JQueryはIframesをいじり回すのが好きではないように思われますが、すでにあなたのために働いていることをするためのよりプログラム的な方法があります。

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 あるべきです。

他のヒント

jQueryでは、syntax:$( "。myclass")を使用してクラスごとの要素のセットを選択できます。

http://api.jquery.com/class-selector/

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top