2016-07-08 10 views
0

Ich möchte Element nach jedem DIV-Tag hinzufügen, während 'i = 0', 'i = 1', 'i = 2' ... bis 'max-DIV.length' ". Was soll ich machen? Ich mache mir nur ein bisschen Sorgen .. OH!Element nach allen DIV-Tags mit JavaScript hinzufügen

var NewSpan = document.createElement("span"); 
 
NewSpan.setAttribute("id", "gotop"); 
 
var NewSpanText = document.createTextNode("to be continue..."); 
 
NewSpan.appendChild(NewSpanText); 
 

 
var i = 0; 
 

 
var OldDiv = document.getElementsByTagName('div')[i]; 
 
var parent = OldDiv.parentNode; 
 
if (parent.lastChild == OldDiv) { 
 
    parent.appendChild(NewSpan); 
 
} else { 
 
    parent.insertBefore(NewSpan, OldDiv.nextSibling); 
 
};
<div id="n1">DIV</div> 
 
<div id="n2">DIV</div> 
 
<div id="n3">DIV</div> 
 
<div id="n4">DIV</div>

lile this

+0

Sie suchen nach einer [ 'for' Schleife.] (Https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/ for) –

+0

Ich habe es versucht, aber es hat nur ein Element erstellt, nicht jedes div-Tag – Ching

+0

Haben Sie eine neue "span" während der Schleife erstellt? –

Antwort

0

Sie müssen dies in einer for Schleife wickeln und ein neues span Element jedes Mal, wenn ein einfügen möchten erstellen.

var divs = document.getElementsByTagName('div'); 
 

 
for (var i = 0; i < divs.length; i++) { 
 
    var NewSpan = document.createElement("span"); 
 
    NewSpan.setAttribute("id", "gotop" + i); // Can't have duplicate IDs 
 
    var NewSpanText = document.createTextNode("to be continue..."); 
 
    NewSpan.appendChild(NewSpanText); 
 
    var OldDiv = divs[i]; 
 
    var parent = OldDiv.parentNode; 
 
    if (parent.lastChild == OldDiv) { 
 
    parent.appendChild(NewSpan); 
 
    } else { 
 
    parent.insertBefore(NewSpan, OldDiv.nextSibling); 
 
    } 
 
}
<div id="n1">DIV</div> 
 
<div id="n2">DIV</div> 
 
<div id="n3">DIV</div> 
 
<div id="n4">DIV</div>

+1

oh Gott !! Es ist so magisch ~ sehr vielen Dank ~; p – Ching

+0

_NewSpan.setAttribute ("id", "gotop" + i); _ sollte ** NewSpan.setAttribute ("id", "gotop") + i; ** – Ching

+0

sein @Ching Nein sollte es nicht. Ich ändere die ID, weil Sie nicht dieselbe ID an mehrere Elemente anhängen können. –

Verwandte Themen