使用JavaScript获取DIV的内容

时间:2011-12-27 17:05:49

标签: javascript

我有两个名为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>

5 个答案:

答案 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 Div2DIV2。此外,您应该使用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库。