用jquery包装两个特定的元素



我有一些元素,比如

<div id="one">ONE</div>
<div id="two">TWO</div>
<div id="three">THREE</div>
<div id="four">FOUR</div>
<div id="five">FIVE</div>

现在,我想在ID为"two"one_answers"three"的两个元素周围包装一个DIV标签,以获得以下内容:

<div id="one">ONE</div>
<div class="wrapped">
    <div id="two">TWO</div>
    <div id="three">THREE</div>
</div>
<div id="four">FOUR</div>
<div id="five">FIVE</div>

有了"wrapAll"函数,我只能针对同一类的元素,我想是:

$(document).ready(function(){
    $( "div" ).wrapAll( "<div class='wrapped' />");
});

我知道我可以先用jquery给这两个DIV提供相同的类,然后将它们包装起来,但我希望有一种更优雅的方法。

您可以使用$('#two, #three').wrapAll('<div class="wrapped" />')

jsFiddle示例

只需选择您想要的两个并wrapAll()。

来自文档(重点是我自己):

.wrapaAll()函数可以接受任何字符串或对象传递给$()函数以指定DOM结构。此结构可以嵌套几层深,但最多只能包含一层元素该结构将围绕中的所有元素匹配元素的集合,作为单个组

Fiddle:https://jsfiddle.net/93dyokr0/1/

$('#two, #three').wrapAll( "<div class='wrapped' />");

最新更新