在循环中插入

And*_*iBM 7 jquery loops insertafter

我有一些由CMS生成的代码:

<div class="block">
  <a class="link" href="#">Link</a>
  <h4>Header here</h4>
  <div class="text">Some text here</div>
</div>
Run Code Online (Sandbox Code Playgroud)

我需要将链接移动到文本div之后.我试过这个:

$(document).ready(function() {
        $('.block').each(function() {
            $('.block a.link').insertAfter('.block div.text');                      
        });
    });
Run Code Online (Sandbox Code Playgroud)

但这只会导致链接重复约10次(循环的次数.

我尝试使用$(this),但我不太明白如何编写正确的语法来附加函数中的a.link ...像这样:

 $(this).a.link.insertAfter($(this).div.text);
Run Code Online (Sandbox Code Playgroud)

lon*_*day 8

这样的东西应该工作,使用siblingsafter:

$('.block a.link').each(function() {
    $(this).siblings('.text').after(this);
});
Run Code Online (Sandbox Code Playgroud)

这表示"对于匹配的每个元素,找到匹配的元素.text并在其后插入原始元素".

或者,你可以这样做:

$('.block a.link').each(function() {
    $(this).parent().append(this);
});
Run Code Online (Sandbox Code Playgroud)

这假设你想把元素放在最后div.block.