3

CMS で生成された HTML ブロックがあります。特定の要素セットに DIV ラッパーを追加したいと考えています。

<ul id="gform_fields_1">
    <li id="field_1_8" class="gfield">
        <!-- content -->
    </li>
    <li id="field_1_9" class="gfield">
        <!-- content -->
    </li>
    <li id="field_1_10" class="gfield">
        <!-- content -->
    </li>
    <li id="field_1_11" class="gfield">
        <!-- content -->
    </li>
    <li id="field_1_12" class="gfield">
        <!-- content -->
    </li>
    <li id="field_1_13" class="gfield">
        <!-- content -->
    </li>
    <li id="field_1_14" class="gfield">
        <!-- content -->
    </li>
</ul>

次のパターンを実現したいと思います。

<ul id="gform_fields_1">
    <div class="wrap">
        <li id="field_1_8" class="gfield">
            <!-- content -->
        </li>
        <li id="field_1_9" class="gfield">
            <!-- content -->
        </li>
        <li id="field_1_10" class="gfield">
            <!-- content -->
        </li>
    </div>
    <div class="wrap">
        <li id="field_1_11" class="gfield">
            <!-- content -->
        </li>
    </div>
    <div class="wrap">
        <li id="field_1_12" class="gfield">
            <!-- content -->
        </li>
        <li id="field_1_13" class="gfield">
            <!-- content -->
        </li>
    </div>
</ul>

ラップは要素の特定のグループ用です。たとえば、#field_1_8、#field_1_19、および #field_1_10 を DIV で囲み、#field_1_11 を DIV で囲み、次に残りを囲む必要があります。要するに、いわばロジックに基づくのではなく、ID を指定したいということです。

.wrap()次のように作業する方法のようです:

$('LIST ALL IDs').wrap('<div class="new" />');

どんなヒントでも大歓迎です。

ありがとう

4

2 に答える 2

6

jQueryのセレクター構文はCSSに非常に似ているため、次のように要素をリストするだけで済みます。

$('li#field_1_8, li#field_1_9, li#field_1_10').wrapAll('<div class="new" />')
于 2013-03-02T19:43:55.740 に答える
0

スライスを使用できます

$('li').slice(0, 3).wrapAll("<div class='wrap'></div>")
$('li').slice(3,4).wrap("<div class='wrap'></div>")
$('li').slice(4,7).wrapAll("<div class='wrap'></div>")

jsfiddle: http: //jsfiddle.net/NpxxR/

于 2013-03-02T20:03:08.177 に答える