Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

createElement in ander Element

Pagina: 1
Acties:

  • wha
  • Registratie: April 2011
  • Laatst online: 19-11 16:28
createElement in ander Element

Ik ben bezig met javascript die het volgende div moet genereren:
HTML:
1
2
3
4
5
6
7
8
9
10
<div id="msgloader">
<div id="msg">
<div id="naam">Piet</div>
<div id="text">Blaat</div>
</div>
<div id="msg">
<div id="naam">Piet</div>
<div id="text">Blaat</div>
</div>
</div>


JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var messagesElement = document.getElementById("msgloader");

var messagesBody = document.createElement("div");
messagesBody.id = "msg";

var leftBody = document.createElement("div");
leftBody.id = "naam";
leftBody.innerHTML = "naam";

var centerBody = document.createElement("div");
centerBody.id = "text";
centerBody.innerHTML = "test";

messagesBody.appendChild(leftBody);
messagesBody.appendChild(centerBody);

messagesElement.appendChild(messageBody);


Wat ik ook geprobeerd heb is de append op de messageBody maar dat werkt ook niet 8)7 , iemand enige idee?

[ Voor 3% gewijzigd door wha op 22-08-2013 14:47 . Reden: Code benaming in order gemaakt. ]


  • Orion84
  • Registratie: April 2002
  • Laatst online: 23-11 11:34

Orion84

Admin General Chat / Wonen & Mobiliteit

Fotogenie(k)?

"werkt ook niet" is nogal vaag. Wat voor meldingen krijg je in de error console van de browser waar je het in test? Wat is het resultaat en hoe verschilt dat van het verwachtte resultaat?

The problem with common sense is that it's not all that common. | LinkedIn | Flickr


  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 23:15
Ik zou eerst eens aan je consistentie werken.
1) Laat je HTML inspringen zodat je weet hoe de hiërarchie is (dit kan je ook tijdelijk in je JS doen om het voor jezelf overzichtelijk te houden).
2) Je geeft id's aan de nieuwe elementen die niet in je voorbeeld staan zoals msg-left of centerdiv ipv name en text. Als je voorbeeld niet overeenkomst wat je uiteindelijk wilt maken, dan is het lastig helpen.
3) Je gebruikt dezelfde id's meerdere malen wat niet mag in HTML.
4) In je javascript zitten nogal belangrijke fouten zoals messagesElement != msgElement

[ Voor 6% gewijzigd door CurlyMo op 22-08-2013 13:58 ]

Sinds de 2 dagen regel reageer ik hier niet meer


  • wha
  • Registratie: April 2011
  • Laatst online: 19-11 16:28
Klopt dat het nogal vaag is, in de console komt geen foutmelding naar voren en ook geen foutmelding, zowel in Chrome als Firefox laat niks zien.

Het is een verkeerde topic start, je mag deze sluiten ga nog even een paar uur verder puzzelen met de benaming en code optimaliseren.

Bedankt!

  • Sleepkever
  • Registratie: Juni 2007
  • Laatst online: 22-11 00:12
wha schreef op donderdag 22 augustus 2013 @ 14:07:
Klopt dat het nogal vaag is, in de console komt geen foutmelding naar voren en ook geen foutmelding, zowel in Chrome als Firefox laat niks zien.
Dat lijkt me sterk. Controleer je variable namen eens.
JavaScript:
1
var messagesElement = document.getElementById("msgloader"); 

JavaScript:
1
msgElement.appendChild(leftBody); 

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

wha schreef op donderdag 22 augustus 2013 @ 14:07:


Het is een verkeerde topic start, je mag deze sluiten ga nog even een paar uur verder puzzelen met de benaming en code optimaliseren.

Bedankt!
We sluiten niet zondermeer topics. Zie ook: Het algemeen beleid #topiceinde

Daarnaast kan je altijd nog je topicstart aanpassen door middel van Wijzig :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • wha
  • Registratie: April 2011
  • Laatst online: 19-11 16:28
Heb het probleem inmiddels opgelost, de onderste 3 regels van het script heb ik aangepast naar het volgende waardoor het werkt:
oude:
JavaScript:
1
2
3
4
messagesBody.appendChild(leftBody); 
messagesBody.appendChild(centerBody); 

messagesElement.appendChild(messageBody);

Het nieuwe:
JavaScript:
1
2
3
messageBody.appendChild(leftBody);
messageBody.appendChild(centerBody);
messagesElement.appendChild(messageBody);


Waarschijnlijk waren het de type fouten en een andere manier gebruik van een functies die het opgelost hebben.

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 23:15
Er is in je tweede deel geen ander gebruik van functies dus de conclusie is dat de fout in je typefouten zat.

Daarnaast had de code in je nieuwe inleiding ook gewerkt dus iemand die dit topic doorleest begrijpt niet echt wat er nu besproken is en hoe het zat met de oplossing. De post van Sleepkever geeft de oude versie van de inleiding weer en dus ook de typefout.

Sinds de 2 dagen regel reageer ik hier niet meer

Pagina: 1