2014-10-03 77 views
2

您能否請看看this demo並讓我知道爲什麼我無法將#source div加載到#target div中?關於將Div全部內容加載到新Div的問題

<div id="source"> 
    <div class="source-inn"><a>A</a></div> 
    <div class="source-inn"><p>B</p></div> 
    <div class="source-inn"><span>C</span></div> 
</div> 

<div id="target"></div> 
<script> 
$("#source").load("#target"); 
</script> 
+0

http://jsfiddle.net/dn7ha8mm/2/適用於我 – 2014-10-03 21:40:29

+0

.load()適用於ajax:您可以調用一個返回插入到選擇器中的HTML的服務器。 「將#source div加載到#target div中是什麼意思?」 – frenchie 2014-10-03 21:41:03

+0

['.load()'](http://api.jquery.com/load/)。 – Teemu 2014-10-03 21:44:01

回答

2

這裏沒有必要使用.load(),因爲這是從加載來自服務器的數據,並將返回的HTML放入匹配元素(doc for .load is here)。

我建議使用.append().children()元素這樣的:

http://jsfiddle.net/csdtesting/rc9kgekc/

$('#target').append($('#source').children()); 

後的DOM結果將是:

<div id="source"> 

<div id="target"> 
    <div class="source-inn"><a>A</a></div> 
    <div class="source-inn"><p>B</p></div> 
    <div class="source-inn"><span>C</span></div> 
</div> 
</div> 

,如果你想DOM結果是這樣的:

<div id="target"> 
    <div id="source"> 
     <div class="source-inn"><a>A</a></div> 
     <div class="source-inn"><p>B</p></div> 
     <div class="source-inn"><span>C</span></div> 
    </div> 
</div> 

然後,你會使用它沒有。孩子()波紋管: http://jsfiddle.net/csdtesting/aywww7r7/

$('#target').append($('#source')); 

希望這有助於!

0

你要到div追加到這樣的源:

$("#source").append($("#target")); 

注意,CSS不會因爲犯規具有相同的類目標的div應用到目標。

+0

啊,你說得對 - 我誤解了。很高興這有助於! – pherris 2014-10-03 21:53:52