首页 > 解决方案 > 如何
在div之后附加html标签?

问题描述

我想在 a<br>之后附加 a <div>

我的代码

function generatescene() {
    for (i = 1; i < 101; i++) {
        $('#fightarea').append('<div class=\'block block' + i + '\'><img src=block.png></div>');
        if (i % 5) { } else {
            if (i % 5 == 0) {
                console.log('.block' + i + ' img');
                $('.block' + i).after('<br>');
            }
        }
    }
    $('.block').wrapAll('<div class=\'scene\'></div>');
}

我有这个结果

<div>
  <div class="scene">
    <div class="block block1"><img src="block.png"></div>
    <div class="block block2"><img src="block.png"></div>
    <div class="block block3"><img src="block.png"></div>
    <div class="block block4"><img src="block.png"></div>
    <div class="block block5"><img src="block.png"></div>
    <div class="block block6"><img src="block.png"></div>
    <div class="block block7"><img src="block.png"></div>
    <div class="block block8"><img src="block.png"></div>
    <div class="block block9"><img src="block.png"></div>
    <div class="block block10"><img src="block.png"></div>
    <!-- ... -->
  </div><br><br><br><br><br><br><br><br><br><br><br><br><br>
  <br><br><br><br><br><br><br>
</div>

之后的<br>追加,div.scene但我希望在.<br>之后追加"div.block" + i

标签: javascripthtmljquery

解决方案


你可以使用

 $('.block' + i).append('<br>');

代替

 $('.block' + i).after('<br>');

解释:

当您使用 .after() 时,您将元素放在元素之后

前任。

$('.a').after($('.c'));

将导致

<div class='a'>
  <div class='b'>b</div>
</div>
<div class='c'>c</div>

但另一方面,当使用 .append()

$('.a').append($('.c'));

<div class='a'>
  <div class='b'>b</div>
  <div class='c'>c</div>
</div>

希望有帮助!


推荐阅读