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 但我不知道如何通过一个命令使用它

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 回答