39 votes

Obtenir le contenu d'un DIV en utilisant JavaScript

J'ai deux DIV appelées DIV1 et DIV2 et DIV1 se compose de contenu dynamique et DIV2 est vide. J'ai besoin que le contenu de DIV1 soit affiché dans DIV2. Comment puis-je le faire ?

J'ai codé de manière ci-dessous, ce qui ne fonctionne pas. Si quelqu'un le corrige, s'il te plaît.

<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>

76voto

paislee Points 8670

(1) Votre balise <script> doit être placée avant la balise de fermeture </body>. Votre JavaScript essaie de manipuler des éléments HTML qui n'ont pas encore été chargés dans le DOM.
(2) Votre affectation de contenu HTML semble confondue.
(3) Soyez cohérent avec le cas de votre ID d'élément, c'est-à-dire 'DIV2' vs 'Div2'
(4) Minuscule de l'utilisateur pour l'objet 'document' (crédit : 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>

4voto

ThatOtherPerson Points 698

Vous devez définir Div2 sur le HTML interne de Div1. De plus, JavaScript est sensible à la casse - dans votre HTML, l'id Div2 est DIV2. Aussi, vous devez utiliser document, pas Document :

var MyDiv1 = document.getElementById('DIV1');
var MyDiv2 = document.getElementById('DIV2');
MyDiv2.innerHTML = MyDiv1.innerHTML; 

Voici un JSFiddle : http://jsfiddle.net/gFN6r/.

2voto

sarath kumar Points 33

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;

}

1voto

sethupathi.t Points 370

simplement vous pouvez utiliser le plugin jquery pour obtenir/définir le contenu de la div.

var divContent = $ ( '#'DIV1).html() ; $ ( '#'DIV2).html(divContent ) ;

pour cela, vous devez inclure la bibliothèque jquery.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X