JQuery - 只打开一个元素

Kac*_* G. 5 html javascript jquery

我有这样的情况:

<div>
    <span id="x1"></span>
    <span id="x2"></span>
    <span id="x3"></span>
</div>
Run Code Online (Sandbox Code Playgroud)

而我正试图得到这样的东西:

<div>
    <span id="x1"></span>
</div>
<span id="x2"></span>
<div>
    <span id="x3"></span>
</div>
Run Code Online (Sandbox Code Playgroud)

我尝试使用这样的unwrap()函数来做到这一点:

$('#x2').unwrap();  
Run Code Online (Sandbox Code Playgroud)

但是这个功能删除了整个<div>.那我怎么能用jQuery/JavaScript呢?感谢帮助.

j08*_*691 6

您可以从公共div包装器中解开跨度,然后将x1和x3包装在它们自己的新div中.

$('span').unwrap();
$('#x1,#x3').wrap('<div>');
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
    <span id="x1">x1</span>
    <span id="x2">x2</span>
    <span id="x3">x3</span>
</div>
Run Code Online (Sandbox Code Playgroud)

如果您的跨度没有ID,您可以执行类似的操作

$('div > span:even').wrap('<div>').parent().unwrap()
Run Code Online (Sandbox Code Playgroud)