HTML/ Tekst inhoud van een HTML element

De inhoud

Als je een element hebt opgehaald met querySelector of querySelectorAll dan kan je de inhoud van zo een element bewerken. Een opgehaald element heeft twee attributen die de inhoud ophalen:

  • .textContent
  • .innerHTML

.textContent

Het attribuut .textContent haalt de tekst uit een HTML element op. Alle eventuele HTML-elementen worden hierbij weggehaald, het is echt pure tekst. Bekijk de volgende HTML en JavaScript code eens.

<button class="my-class">Dit is een button</button>
const myBtn = document.querySelector('.my-class');
console.log(myBtn.textContent);

In de console zal nu komen te staan Dit is een button

Tekst veranderen

Je kan tekst ook aanpassen, dat doe je door de .textContent attribute te gebruiken maar na de .textContent een = teken te zetten en dan een string met nieuwe tekst te plaatsen.

const myBtn = document.querySelector('.my-class');
myBtn.textContent = 'Dit is de nieuwe tekst';
De tekst van de button is nu Dit is de nieuwe tekst

Tekst toevoegen

Je kan tekst ook toevoegen, dit doe je door eerst de tekst op te halen en daarna met bovenstaande code weer terug te zetten.

const myBtn = document.querySelector('.my-class');
const currentText = myBtn.textContent;
myBtn.textContent = currentText + ' en dit komt er bij';
De button bevat nu de tekst Dit is een button en dit komt erbij

Bovenstaande kan ook een regel korter: myBtn.textContent += ' en dit komt er bij';
De += optie gebruikt de huidige waarde van het element en voegt de nieuwe waarde (wat achter de = staat er aan toe.

.innerHTML

Het .innerHTML attribuut werkt hetzelfde als .textContent met een groot verschil, bij .innerHTML haal en pas je de HTML code op die in een element zit.
In bovenstaand voorbeeld zit in de button verder geen HTML elementen, dus de .innerHTML zal bij het ophalen ook dezelfde tekst terug geven. Maar bekijk onderstaande HTML code eens.

<div class="my-div">
  Dit is wat tekst in een DIV en onderaan staat een button.
  <br>
  <button class="my-class">Dit is een button</button>
</div>
We hebben nu een DIV element met daarin tekst, een BR element en een BUTTON. Nu met de .innerHTML optie kunnen we de HTML in dit element veranderen (of toevoegen)
const myDiv = document.querySelector('.my-div');
console.log(myDiv.innerHTML);

Bovenstaande code geeft in je console.log het volgende:
Dit is wat tekst in een DIV en onderaan staat een button.
<br>
<button class="my-class">Dit is een button</button>

We kunnen met myDiv.innerHTML = in een keer alle HTML (en dus ook de tekst) die in het element zit aanpassen (dat wat er nu inzit wordt dus vervangen) of met de += optie kunnen we nog een tekst of HTML-element(en) toevoegen.
const myDiv = document.querySelector('.my-div');
myDiv.innerHTML += '<div>Deze div wordt toegevoegd!</div>';

Jouw JavaScript

Op de MBO-SD Fiddle site kan je meer oefenen met deze stof.

Klik hier voor de MBO-SD Fiddle site