我有一个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>
答案 0 :(得分:2)
如果您希望a
元素成为第一个子元素,请使用以下命令:
$('table td a').each(function(){
$(this).prependTo($(this).parent());
});
或者,如果您只想在其上一个兄弟之前插入它,也可以使用它。
$('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]);
});