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 回答