2014-10-03 75 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