2017-06-30 1 views
-1

ich habe ein div, das mit javascript aktualisiert wird, fügt das javascript neue p tags in die div. um es nicht unordentlich zu bekommen, möchte ich eine definierte Menge von p Tags aus dem div entfernen. Wie kann ich entfernen x p Tags aus dem Div beginnend am Anfang des div, so dass die erste gelöscht wird wie x p tags aus einem div zu entfernen

Text

der zweite

text1

und so weiter? die div sieht wie folgt aus:

<div id="messages"> 
<p>text</p> 
<p>text1</p> 
<p>text2</p> 
<p>text3</p> 
<p>text4</p> 
<p>text5</p> 
</div> 

und bitte ohne jquery. exakt die gleiche Frage ist diese: jquery how to remove the first x div's? aber da es gibt es nur mit jquery es nicht, mich für Ihre Zeit :)

+1

Können wir den JavaScript-Code sehen, den Sie ausprobiert haben? – Koralarts

+1

Entfernen Sie das erste Element Kind des 'div' bis Sie' x' Elemente entfernt haben (oder es keine Elemente zum Entfernen gibt). –

Antwort

0

let count = 0; 
 

 
function add() { 
 
    let messages = document.getElementById('messages'); 
 
    let newMessage = document.createElement('div'); 
 
    newMessage.innerText = 'text' + count; 
 
    count++; 
 

 
    messages.appendChild(newMessage); 
 

 
    if (count > 5) messages.removeChild(messages.firstElementChild); 
 
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/skeleton/2.0.4/skeleton.min.css" rel="stylesheet" /> 
 
<div class="container"> 
 
    <div id="messages" class="row"></div> 
 
    <div class="row"><button onclick="add()">Add</button></div> 
 
</div>

0

Auf diese Weise

Dank helfen; ], Entferne ich die letzten drei <p> 's

var div = document.getElementById('messages'); 
 
var removeItem = 3; 
 
for(var i = div.children.length - 1; i >= removeItem; i--) { 
 
    div.removeChild(div.children[i]); 
 
}
<div id="messages"> 
 
<p>text</p> 
 
<p>text1</p> 
 
<p>text2</p> 
 
<p>text3</p> 
 
<p>text4</p> 
 
<p>text5</p> 
 
</div>