簡體   English   中英

jQuery:將完整元素移到另一個元素中,而不是僅包含其內容

[英]jQuery: move the complete element into another one, but not its content only

源DIV元素必須出現在目標DIV中。

並且有jQuery appendTo方法似乎為我做到了。

例如:

<div class="source">Move Me</div>
<div class="destination"></div>

jQuery(document).ready(function(){
    jQuery('.source').contents().appendTo('.destination')
  });

但是實際上,它僅將源的內容移動到目標DIV中,而將空的源DIV保留在原來的位置:這是JSFiddle演示的。

所以,代替

<div class="destination">
    <div class="source">Move Me</div>
</div>

appendTo結果就是

<div class="source"></div>
<div class="destination">Move Me</div>

有沒有辦法實現

<div class="destination">
    <div class="source">Move Me</div>
</div>

沒有多余的包裝元素?

只需擺脫.contents()方法即可移動整個元素。

$('.destination').append($('.source'))

將轉向

<div class="destination"></div>
<div class="source">Move Me</div>

進入

<div class="destination">
     <div class="source">Move Me</div>
</div>

只需通過以下方式在您自己的解決方案中排除.contents()

jQuery(document).ready(function(){
    jQuery('.source').appendTo('.destination')
});

然后它將把Div.source完全移到Div.destination 這是小提琴: https : //jsfiddle.net/NDFA/cur9qg2w/

$.contents()將獲取元素的內容,但不考慮元素本身。 $.append()$.appendTo()的默認行為是移動整個元素。 因此,在您的示例中,您只需要使用jQuery('.source').appendTo('.destination').source移至.destination

 jQuery('.source').appendTo('.destination') 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="source">Move Me</div> <div class="destination"></div> 

首先,Jquery的appendTo行為是在一個元素之后追加到另一個元素。 這樣的行為是正確的。 也可能需要append方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM