【发布时间】:2016-09-25 09:29:17
【问题描述】:
以下 HTML 结构已给出且无法更改:
<div id="cone" class="team">
<div class="default"></div>
...
<div class="default">
<img src="img.jpg" width="271" height="271" alt="" border="0"> First Text line<br> Second text line (optional)
<img src="img.jpg" width="271" height="271" alt="" border="0"> First Text line<br> Second text line (optional) ...
</div>
</div>
我想使用 jQuery 得到以下结果:
<div id="cone" class="team">
<div class="default"></div>
...
<div class="default">
<img src="img.jpg" width="271" height="271" alt="" border="0">
<div class="desc">
First Text line<br> Second text line (optional)
</div>
<img src="img.jpg" width="271" height="271" alt="" border="0">
<div class="desc">
First Text line<br> Second text line (optional)
</div>
...
</div>
</div>
我试过了:
$(".team img").each(function () {
$(this.nextSibling).wrap('<div class="desc"></div>');
});
但这只包含第一行:
<img src="fileadmin/dateien/bilder/team/platzhalter_team.jpg" width="271" height="271" alt="" border="0">
<div class="desc">First Text line</div>
<br>
Second text line (optional)
重要提示:<img> 标签后面可以有一行、两行,甚至三行文字。
【问题讨论】:
-
我试过 nextUntil,但它只包含
br标签:$(this.nextSibling).nextUntil('img').wrapAll('<div></div>'); -
@mplungjan:抱歉,无法使用该代码...
标签: javascript jquery html nextsibling