我是jquery的新手,並且正在玩弄它,讓自己熟悉這個着名的框架。我喜歡jquery選擇器的「聲明性」本質,它可以獲取一堆元素併爲它們做些事情,而不需要顯式地循環每個匹配的元素,就像SQL一樣。在探索jQuery時,我給自己提供場景/挑戰,看看我能否解決它們來測試我的理解。這裏有一個問題,我試圖用一行代碼(只使用一個分號)來解決。如何將孩子的元素移動到他們各自的祖父母元素
<div>
<div class="parent">
<div></div>
</div>
</div>
<div>
<div class="parent">
<div></div>
</div>
</div>
<div>
<div class="parent">
<div></div>
</div>
</div>
所以我的問題是這樣的。我有三個<div>
,一個嵌套在另一個裏面,創造一個「祖父母 - 親子關係」的關係。我有三個這樣的安排(三個祖父母是根本的兄弟姐妹)。 所以我的問題是,我如何將所有的孩子都歸入他們自己的祖父母<div>
?換句話說,我試圖讓孩子們成爲他們自己父母的兄弟姐妹。下圖是我試圖達到
<div>
<div class="parent">
</div>
<div></div>
</div>
<div>
<div class="parent">
</div>
<div></div>
</div>
<div>
<div class="parent">
</div>
<div></div>
</div>
這裏的結果是我試圖無濟於事
$('.parent > div').appendTo($(this).parent());
我甚至試過
$('.parent > div').appendTo($(this).parent().parent());
我想我是什麼在這裏濫用$(this)
。我無法找到一種只用一行就可以完成而不使用循環的方法。我想我可以用.each()循環來做到這一點,但是想嘗試在沒有的情況下實現它。謝謝您閱讀此篇。
這是整潔,雖然還涉及兩個分號。謝謝 –
更好的方式? $('。parent')。after(function(){return $('div',this)});' –
我喜歡這個,它更簡潔,沒有明確的循環。 –