2014-05-03 110 views
1

我有一個div和一個鏈接的三個組(td),我想把這個鏈接放在這些組(td)的每個div的前面。我嘗試過after(),但沒有成功。 有沒有簡單的方法來做到這一點?jQuery交換多個元素

我有這樣的結構:

<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> 
+1

什麼是你使用'。經過()'寫的代碼?它有什麼問題? – univerio

+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]); 
});