0

私は jQuery の第一人者ではなく、まだ学習中です。

私はこの長い機能を持っています:

$('.client1 > *:first-of-type, .client2 > *:first-of-type, .client3 > *:first-of-type, .client4 > *:first-of-type, .client5 > *:first-of-type').append('<span class="jsi"/>');

はい、機能しますが、新しい「クライアント」を追加するたびにセレクターリストに追加する必要があるため、効率的ではなく、簡単に拡張できないことはわかっています。

したがって、パーツに(a)変数を使用でき、> *:first-of-typeパーツに「配列」(正しいと言っているのかわかりません)を使用できることを知ってい.clientXます。

これは正直なところ、私の頭を少し超えています。

これは私が試したものですが、もちろんうまくいきません:

var fot = "> *:first-of-type";
$('.client1' + fot, '.client2' + fot, '.client3' + fot, '.client4' + fot, '.client5' + fot).append('<span class="jsi"/>');

何が起こるかというと、自分自身を繰り返す必要がないようにしたいだけでなく、新しいクライアントを機能に追加する必要があるため、これをより効率的にスケーリングできるようにしたいということです。

これに関するヘルプは大歓迎です。

4

1 に答える 1

3

追加のクラスを追加するだけで、そのようなclientものはもう必要ありません。

<div class="client client1">..</div>
<div class="client client2">..</div>

したがって、 class ですべての要素を選択できますclient

$('.client > *:first-of-type').each(function() {
    $(this).append('<span class="jsi" />');
});
于 2013-03-29T15:09:51.163 に答える