jQuery交换多个元素

时间:2014-05-03 22:27:28

标签: jquery html css3 swap

我有一个div和一个链接的三个组(td),我想将链接放在每个组(td)中的div之前。我试过after()但没有成功.. 有没有一种简单的方法可以做到这一点?

我有这个结构:

<table>
    <tr>
        <td>
            <div>Text</div>
            <a href="#">Link</a>
        </td>
        <td>
            <div>Text</div>
            <a href="#">Link</a>
        </td>
        <td>
            <div>Text</div>
            <a href="#">Link</a>
        </td>
    </tr>
</table>

2 个答案:

答案 0 :(得分:2)

如果您希望a元素成为第一个子元素,请使用以下命令:

Example Here

$('table td a').each(function(){
    $(this).prependTo($(this).parent());
});

或者,如果您只想在其上一个兄弟之前插入它,也可以使用它。

Example Here

$('table td a').each(function(){
    $(this).insertBefore($(this).prev());
});

答案 1 :(得分:1)

非jQuery替代方案:

[].slice.call(document.querySelectorAll('td')).forEach(function(td) {
    td.insertBefore(td.children[1], td.children[0]);
});