0

私はそのようなIDを持つ div を持っています:manufacturer_12、manufacturer_37、manufacturer_71など...

可視性が表示されているすべての div を見つけて、それらに対して次のようなことを行う方法はありますか?

$('[id^="manufacturer"]').slideToggle("slow");

問題は、ID が連続していないため、for ループを作成できないことです。

多分私はhttp://api.jquery.com/jQuery.each/を使うべきですか?

4

3 に答える 3

2

を使用できます.eachが、これは機能する場合があります。

$("[id^='manufacturer']:visible").slideToggle("slow");
于 2013-01-04T18:32:07.557 に答える
2

確かに、使用できます:visible

$('[id^="manufacturer"]').filter(":visible").slideToggle("slow");

ただし.slideToggle()、ドキュメントに記載されているように、一致するすべての要素に適用されることに注意してください。したがって、実際にはここで使用する必要はありません.each()

.slideToggle( [duration] [, callback] )

戻り値: jQuery

説明:一致した要素をスライド モーションで表示または非表示にします。

この場合、 でid始まるすべての可視要素manufacturer

于 2013-01-04T18:32:14.177 に答える
1

私を信じてください、それは物事を行う良い方法ではありません.
関心のあるすべてのアイテムに特定のクラスを割り当て、クラス名のみに基づいて非常に単純なセレクターを作成することをお勧めします。これにより、はるかに高速に動作します。

于 2013-01-04T18:36:19.133 に答える