2013-11-24 110 views
9

所以我在我的网站上有两个特定的div。它们都具有相同的css属性,但其中一个可以包含24个其他div。我希望所有这些div都被复制到另一个潜水中。 这是它的样子:将div的内容复制到另一个div中

<div id="mydiv1"> 
    <div id="div1"> 
    </div> 
    </div id="div2> 
    </div> 
    //and all the way up to div 24. 
</div> 

<div id="mydiv2"> 
</div> 

所以我希望所有的24个div的withing为myDiv1的被复制到mydiv2页面加载时。提前

回答

13

首先,我们正在分配的div到变量(可选)

感谢

var firstDivContent = document.getElementById('mydiv1'); 
var secondDivContent = document.getElementById('mydiv2'); 

现在只需指定为myDiv1的内容mydiv2。

secondDivContent.innerHTML = firstDivContent.innerHTML; 

DEMO http://jsfiddle.net/GCn8j/

完整代码

<html> 
<head> 
    <script type="text/javascript"> 
    function copyDiv(){ 
     var firstDivContent = document.getElementById('mydiv1'); 
     var secondDivContent = document.getElementById('mydiv2'); 
     secondDivContent.innerHTML = firstDivContent.innerHTML; 
    } 
    </script> 
</head> 
<body onload="copyDiv();"> 
    <div id="mydiv1"> 
     <div id="div1"> 
     </div> 
     <div id="div2"> 
     </div> 
    </div> 

    <div id="mydiv2"> 
    </div> 
</body> 
</html> 
+0

不要忘记VAR firstDivContent等。将变量暴露给全局范围是不好的做法 –

+3

这实际上不会工作,'innerHTML'返回的字符串不是对元素属性的引用 –

+0

@EricHerlitz感谢您警告我'var's。 –

7

可以使用.ready()事件的jQuery

jQuery(document).ready(function() { 
    jQuery('.div1').html(jQuery("#div2").html()); 
} 

另外一个工作DEMO

2
var divs = document.getElementById('mydiv1').innerHTML; 

document.getElementById('mydiv2').innerHTML= divs; 
1

在jquery中的替代方法您可以使用clone并将其放入您的目标div。例如:

$('#mydiv1').clone().appendTo('#mydiv2'); 

复制#mydiv1#mydiv2

相关问题