2016-03-23 9 views
0

Ich kann Div mit ID sehen, 'BusinessCard' mit "Visitenkarte Info" aktualisiert, aber ich das Div innerhalb der mit ID 'Name' wird nicht aktualisiert.kann ein Div in einem anderen Div-Element mit InnerHTML-Methode nicht aktualisieren?

+3

Sobald Sie setzen businessCard.innerHTML = „Visitenkarte Info“, das innere div – Wainage

+0

weg Gibt es eine Möglichkeit .. oder der einzige Weg ist, um getrennte divs? – tharun139

+0

können Sie das innere Teil wieder in das äußere Teil einfügen: http://StackOverflow.com/Questions/14004117/create-div-and-append-div-dynamic –

Antwort

0

innerHTML am äußeren div löscht Ihr inneres div. Speichere das innere div bevor du innerHTML am äußeren div verwendest.

window.onload = init; 
 

 
    function init() { 
 
    var button = document.getElementById("populateFields"); 
 
    button.onclick = updateFields; 
 
    } 
 

 
    function updateFields() { 
 
    //save inner div 
 
    var innerdiv = document.getElementById("name"); 
 
    innerdiv.innerHTML = "Name"; 
 

 
    var outerdiv = document.getElementById("businessCard"); 
 
    outerdiv.innerHTML = "Business Card Info"; 
 
    // add inner div back 
 
    outerdiv.appendChild(innerdiv); 
 

 
    }
<div id="businessCard">sme 
 
    <div id="name">fdfdf</div> 
 
</div> 
 
<input type="button" value="populate fields" id="populateFields">

0

Da manche sagen innerHTML böse ist, weil es Konsequenzen in DOM ist. Eine andere Lösung ist .firstChild.nodeValue zu verwenden.

window.onload = init; 
 

 
function init() { 
 
    var button = document.getElementById("populateFields"); 
 
    button.onclick = updateFields; 
 
} 
 

 
function updateFields() { 
 
    document.getElementById("businessCard").firstChild.nodeValue = "Business Card Info"; 
 
    document.getElementById("name").firstChild.nodeValue = "Name"; 
 
}
<div id="businessCard"> 
 
    <div id="name"> </div> 
 
</div> 
 
<input type="button" value="populate fields" id="populateFields">

Verwandte Themen