MBO-SD : De site voor software developer in het MBO
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