我的 HTML 如下所示:
<div class='background'>
<div class='item' id='item1'>... </div>
<div class='item' id='item2'>... </div>
<div class='item' id='item3'>... </div>
... (more 'item's follow)
</div> <!-- background>
我一直在尝试使用 jQuery 来完成background
之前关闭 div的操作item2
,然后再重新打开它。像这样:
$('#item2').before('</div>');
$('#item2').after('<div class="background">');
但是 jQuery 反常地坚持要解决这个问题:
<div class='background'>
<div class='item' id='item1'>... </div>
<div class="background"></div>
<div class='item' id='item2'>... </div>
<div class='item' id='item3'>... </div>
...
</div> <!-- background>
这显然是无用的。
在越来越绝望的情况下,我尝试使用该.html()
方法强制</div>... <div>
标签出现。没用:jQuery 简直不敢相信我想插入那个标记。(这种折磨的语法:
var oldc = $('#item2').html();
var newc = '</div></div>'+oldc+'<div class="background"><div>';
$('#item2').html(newc);
决议:
<div class="item" id="item2">...
<div class="background"><div></div></div>
</div>
(如在 Firebug 中所见)。)
有没有一种简单的方法可以使用 jQuery 来解决这个问题,还是我从根本上被误导了?
澄清一下:我想要结束的是:
<div class='background'>
<div class='item' id='item1'>... </div>
</div>
<div class='item' id='item2'>... </div>
<div class="background">
<div class='item' id='item3'>... </div>
... (more 'item's follow)
</div> <!-- background>