Es gibt viele Wege um dies zu tun. Ein wichtiger Unterschied in den Methoden besteht darin, dass Sie zuerst die Elemente mit Document.createElement()
erstellen und dann die Elemente einfügen oder die Elemente in einem Schritt erstellen und einfügen, indem Sie eine der Methoden zum Einfügen von HTML-Text verwenden.
Da es einfacher, aber nicht unbedingt besser ist, zeigen die folgenden Beispiele das Erstellen und Einfügen der beiden <div>
Elemente in einem einzigen Schritt mit Methoden zum Einfügen von HTML-Text in das DOM.
JavaScript:
One ist insertAdjacentHTML()
zu verwenden und angeben, dass es afterend
des Elements eingefügt werden soll Sie verwenden.
document.querySelector()
wird verwendet, um die erste <div class="divstudent">
zu finden. Dann wird insertAdjacentHTML()
verwendet, um die zusätzlichen Elemente <div>
hinzuzufügen. Element.removeAttribute()
wird dann verwendet, um die class="divstudent"
zu entfernen. Hinweis: Wenn wir nur die class
auf etwas anderes setzen wollten, sogar ''
, dann hätten wir Element.className
verwenden können.
HINWEIS: In dieser Antwort Text jeden <div>
Identifizierung hat die <div>
s hinzugefügt, so etwas sichtbar in den Beispielen in dieser Antwort gibt.
//Find the first <div class="divstudent"> in the document
var studentDiv = document.querySelector('div.divstudent');
//Insert two new <div> elements.
studentDiv.insertAdjacentHTML('afterend','<div>2</div><div>3</div>');
//Remove the class="divstudent"
studentDiv.removeAttribute('class');
<div class="divstudent">1</div>
jQuery:
Während Ihre Frage jQuery markiert ist, bedeutet, ein Kommentar, den Sie geschrieben Sie JavaScript nur verwenden. Daher bin ich mir nicht sicher, ob jQuery für Sie arbeitet. Wenn Sie jQuery verwenden möchten, können Sie .after()
verwenden, um die Elemente <div>
hinzuzufügen. Sie können dann .removeAttr()
verwenden, um die class="divstudent"
zu entfernen.
// Get the first <div class="divstudent">.
// Store it in a variable so we only walk the DOM once.
var $studentDiv = $('div.divstudent').eq(0);
//Add the two new <div> elements
$studentDiv.after('<div>2</div><div>3</div>');
//Remove the class="divstudent"
$studentDiv.removeAttr('class');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="divstudent">1</div>
nur eine Randnotiz, HTML-Kommentare bezeichnet '' –
So ziemlich die gleiche Frage <- - So!>: http://stackoverflow.com/questions/ 4793604/how-to-do-insert-nach-in-javascript-ohne-using-a-library –
Was hast du probiert? BTW: Es ist ein bisschen einfacher, ein bestimmtes Element zu referenzieren, wenn Sie ihm zusätzlich zu einer "Klasse" eine eindeutige "ID" geben. – Makyen