laatste vraag

Status
Niet open voor verdere reacties.

Johannes2008

Gebruiker
Lid geworden
5 aug 2008
Berichten
10
Nog één laatste vraagje over dit onderwerp. In de code staat:

<p><strong>Div2 backgroundColor = <span id="infoDiv2">wit</span></strong></p>

De bedoeling is dat als de achtergrondkleur van div2 gewijzigd wordt, deze tekst ook aangepast wordt. Ik ga ervan uit dat dit kan door de ID "infoDiv2" te wijzigen. Als ik dat probeer, vb:

infoDiv2 = document.getElementByID("div2").style.backgroundColor;

dan blijft er nog steeds "wit" staan in de tekst.
Wat moet anders?

Johannes
 
Ik mis een element met id div2. Misschien bedoel je dit?
Code:
var infoDiv2 = document.getElementByID("infoDiv2");
infoDiv2.style.backgroundColor = infoDiv2.innerHTML;
 
Ik weet het niet goed. Div2 is elders gedefinieerd. De achtergrondkleur daarvan kan gewijzigd worden vanuit een invoerveld elders in de code. Dat werkt. Maar de eerste regel van div2 zelf bevat de tekst: "Div2 backgroundColor = xxx", waarbij voor xxx in de beginsituatie "wit" staat, en als je de achtergrondkleur veranderd, dan moet xxx de naam (of hexadecimaal) van die nieuwe kleur worden.

Johannes
 
Je maakt weeral dezelfde fout ;)
Je script weet nog niet wat je bedoelt met "infoDiv2". Je moet dus een getElementById doen.

Dit is juist:
Code:
document.getElementById("infoDiv2").innerHTML = document.getElementByID("div2").style.backgroundColor;

Dus onthoud, als een element een ID heeft, wil dat niet zeggen dat Javascript automatisch de gegevens van dat element krijgt. Dat moet je "manueel" doen. Dus met getElementById().
 
Ik snap wat je zegt, maar het script werkt nog niet. Eerst wordt dus de javascriptcode uitgevoerd:

function wijzigKleur(){
document.getElementById("div2").style.backgroundColor = document.getElementById("kleur").value;

waarmee de achtergrondkleur van div2 gewijzigd wordt.

Dan staat verderop in de HTML de regel:

<p><strong>Div2 backgroundColor = <span id="infoDiv2">wit</span></strong></p>

maar de door jou geadviseerde regel:

document.getElementById("infoDiv2").innerHTML = document.getElementByID("div2").style.backgroundColor;

wijzigt de tekst in de eerste regel van div2 niet, er blijft "wit" staan, welke kleur ik ook invoer. Het heeft mogelijk met de "<span>-tag te maken. Ik weet niet hoe dat werkt.
Enig idee?
 
Dit moet volgens mij wel werken wanneer een een backgroundColor is.

Kun je dan niet makkelijker gelijk dit aanroepen?

Code:
document.getElementById("infoDiv2").innerHTML = document.getElementById("kleur").value;
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan