我有两个名为DIV1和DIV2的DIV,DIV1由动态内容组成,DIV2为空。我需要在DIV2中显示DIV1的内容。我怎么能这样做。
我以下面的方式编码,但是没有用。任何人请纠正它。
<script type="text/javascript">
var MyDiv1 = Document.getElementById('DIV1');
var MyDiv2 = Document.getElementById('Div2');
MyDiv2.innerHTML = MyDiv2;
</script>
<body>
<div id="DIV1">
// Some content goes here.
</div>
<div id="DIV2">
</div>
</body>
答案 0 :(得分:68)
(1)您的<script>
标记应放在结束</body>
标记之前。您的JavaScript正在尝试操作尚未加载到DOM中的HTML元素
(2)您对HTML内容的分配看起来很混乱
(3)与元素ID中的情况一致,即“DIV2”vs“Div2”
(4)'document'对象的用户小写(credit:ThatOtherPerson)
<body>
<div id="DIV1">
// Some content goes here.
</div>
<div id="DIV2">
</div>
<script type="text/javascript">
var MyDiv1 = document.getElementById('DIV1');
var MyDiv2 = document.getElementById('DIV2');
MyDiv2.innerHTML = MyDiv1.innerHTML;
</script>
</body>
答案 1 :(得分:4)
现在你将innerHTML设置为整个div元素;你想将它设置为innerHTML。另外,我想你想要MyDiv2.innerHTML = MyDiv 1 .innerHTML。另外,我认为document.getElementById
的论点是区分大小写的。您希望Div2
DIV2
var MyDiv1 = Document.getElementById('DIV1');
var MyDiv2 = Document.getElementById('DIV2');
MyDiv2.innerHTML = MyDiv1.innerHTML;
此外,此代码将在DOM准备好之前运行。你可以把这个脚本放在身体的底部,就像paislee说的那样,或者把它放在身体的上传功能中
<body onload="loadFunction()">
然后
function loadFunction(){
var MyDiv1 = Document.getElementById('DIV1');
var MyDiv2 = Document.getElementById('DIV2');
MyDiv2.innerHTML = MyDiv1.innerHTML;
}
答案 2 :(得分:4)
您需要将Div2设置为Div1的innerHTML。此外,JavaScript区分大小写 - 在您的HTML中,ID Div2
为DIV2
。此外,您应该使用document
,而不是Document
:
var MyDiv1 = document.getElementById('DIV1');
var MyDiv2 = document.getElementById('DIV2');
MyDiv2.innerHTML = MyDiv1.innerHTML;
这是一个JSFiddle:http://jsfiddle.net/gFN6r/。
答案 3 :(得分:2)
function add_more(){
var text_count = document.getElementById('text_count').value;
var div_cmp = document.getElementById('div_cmp');
var values = div_cmp.innnerHTML;
var count = parseInt(text_count);
divContent = '';
for (i = 1; i <= count; i++) {
var cmp_text = document.getElementById('cmp_name_' + i).value;
var cmp_textarea = document.getElementById('cmp_remark_' + i).value;
divContent += '<div id="div_cmp_' + i + '">' +
'<input type="text" align="top" name="cmp_name[]" id="cmp_name_' + i + '" value="' + cmp_text + '" >' +
'<textarea rows="1" cols="20" name="cmp_remark[]" id="cmp_remark_' + i + '">' + cmp_textarea + '</textarea>' +
'</div>';
}
var newCount = count + 1;
if (document.getElementById('div_cmp_' + newCount) == null) {
var newText = '<div id="div_cmp_' + newCount + '">' +
'<input type="text" align="top" name="cmp_name[]" id="cmp_name_' + newCount + '" value="" >' +
'<textarea rows="1" cols="20" name="cmp_remark[]" id="cmp_remark_' + newCount + '" ></textarea>' +
'</div>';
//content = div_cmp.innerHTML;
div_cmp.innerHTML = divContent + newText;
} else {
document.getElementById('div_cmp_' + newCount).innerHTML = '<input type="text" align="top" name="cmp_name[]" id="cmp_name_' + newCount + '" value="" >' +
'<textarea rows="1" cols="20" name="cmp_remark[]" id="cmp_remark_' + newCount + '" ></textarea>';
}
document.getElementById('text_count').value = newCount;
}
答案 4 :(得分:0)
只需使用jquery插件来获取/设置div的内容。
var divContent = $('#'DIV1).html(); $('#'DIV2).html(divContent);
为此你需要包含jquery库。