用jquery包装两个特定元素

时间:2016-01-07 16:08:55

标签: jquery html css

我有一些像

这样的元素
<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”和“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' />");
});

我知道我可以先将两个DIV与jquery放在同一个类中,然后将它们包起来,但是我希望有更优雅的方式

2 个答案:

答案 0 :(得分:3)

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

执行此操作

<强> jsFiddle example

答案 1 :(得分:2)

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

来自docs(强调我自己):

  

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

小提琴:https://jsfiddle.net/93dyokr0/1/

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