6

このコードを見てください

<div class="preview">
    <img src="link" alt="" class="overlay" />
</div>

私がする必要があるのは、内側のdiv呼び出し「overlay」をラップしてから、「overlay2」という別のdivを追加して、以下のようにすることです

<div class="preview">
    <div class="overlay">
        <img src="link" alt="" class="overlay" />
        <div class="overlay2"></div>
    </div>
</div>

.wrap と append を使用しようとしましたが、1 つのコマンドでこれを使用する方法がわかりませんでした

4

3 に答える 3

8

あなたはこれを試すことができます

$('div.preview img')
.wrap('<div class="overlay"></div>')
.after('<div class="overlay2"></div>');

デモ(ソースを参照)。

また

$('div.preview img')
.wrap($('<div/>', {'class':'overlay'}))
.after($('<div/>', {'class':'overlay2'}));

デモ(ソースを参照)。

出力

<div class="preview">
    <div class="overlay">
        <img src="link" alt="" class="overlay">
        <div class="overlay2"></div>
    </div>
</div>
于 2012-10-16T03:08:41.603 に答える
3

とてもシンプル

$('.preview').append('<div class="overlay2"></div>')
$('.overlay').wrap('<div class="overlay"></div>')

ここでテストしてください: http://jsfiddle.net/RASG/32JSW/

于 2012-10-16T02:50:27.960 に答える
0
var imgElement = $('div.preview').find('.overlay');  
$('div.preview').remove('img.overlay');    
$('div.preview').append("<div class='overlay'></div>");    
$('div.overlay').append(imgElement);  
$('img.overlay').after("<div class='overlay2'></div>");
于 2012-10-16T02:47:01.083 に答える