私の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>