[Hier had mijn handtekening kunnen staan]
Verwijderd
Echter, je hebt geen enkele referentie naar je link als een object zijnde. Zodra je innerHTML of document.write() gebruikt is er geen enkele referentie tussen JS en elementen in je pagina.
Wat je dus kunt doen is:
a) De link opzoeken met bijvoorbeeld document.getElementsByTagname welke je een collection returned met alle links in document.
b) Je link opzetten met behulp van valide DOM methoden
<script type="text/javascript">
var mijnlink = document.createElement('A');
var label = document.createTextNode('de tekst in de link);
mijnlink.appendChild(label);
mijnlink.href = 'http://www.blah.com';
mijnlink.className = 'css class';
document.body.appendChild(mijnlink);
</script>
Er is nu een referentie naar het anchor object in mijnlink.
[ Voor 14% gewijzigd door Verwijderd op 03-05-2005 21:14 ]
Maar als 't zo ingewikkeld gaat, doe ik het wel met document.write("<a href...en de hele reut>").
[Hier had mijn handtekening kunnen staan]
Iig is ingewikkelde manier - hoewel het wat omslachtig is - wel de mooiste. Je zou ipv die createTextNode ook wel een innerHTML kunnen gebruiken op mijnlink, maar ook dat slaat zeg maar het idee dood dat je met de dom methodes nooit ongeldige html kan genereren, en met strings plakken/writen kan dat wel. De referentie naar je element mis je inderdaad ook. Hier is dat misschien niet zo boeiend, maar als je bv met events aan de gang gaat is het wel zo leuk dat je na het schrijven van je html elementen niet nog een keer op zoek hoeft te gaan naar die elementen.
Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin
Verwijderd
http://whatwg.org/specs/web-apps/current-work/#serializationwas document.write ook niet deprecated?
Niet echt dus. In Opera werkt het al in XML mode zelfs. In Mozilla binnenkort vast ook.
Jammer, mag van mij er wel uit, evenals innerHTML (of die zou read-only moeten worden)Verwijderd schreef op dinsdag 03 mei 2005 @ 21:49:
[...]
http://whatwg.org/specs/web-apps/current-work/#serialization
Niet echt dus. In Opera werkt het al in XML mode zelfs. In Mozilla binnenkort vast ook.
Verwijderd
Als je het overigens nog echt puristisch wil aanpakken zou je eigenlijk voor setAttribute moeten gaan, dan doe ik het in mijn voorbeeld niet op de goede manier.
Daar is dan alleen weer het probleem van dat je in IE met setAttribute alsnog "className" moet gebruiken, en in echte browsers gewoon "class".Verwijderd schreef op woensdag 04 mei 2005 @ 08:38:
Als je het overigens nog echt puristisch wil aanpakken zou je eigenlijk voor setAttribute moeten gaan, dan doe ik het in mijn voorbeeld niet op de goede manier.
Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin
André schreef op dinsdag 03 mei 2005 @ 23:59:
[...]
Jammer, {document.write} mag van mij er wel uit, evenals innerHTML (of die zou read-only moeten worden)
[Hier had mijn handtekening kunnen staan]
Het enige wat ik wilde maken is een menubalk die op iedere pagina terugkomt. Als er dan items aan het menu moeten worden toegevoegd, hoef ik dat niet op 100 pagina's te wijzigen, maar slechts in het ene scriptfiletje. Het is dus niet nodig dat ik teruggrijp of dat het real-time veranderbaar moet zijn ofzo.Clay schreef op dinsdag 03 mei 2005 @ 21:34:
(...) Je zou ipv die createTextNode ook wel een innerHTML kunnen gebruiken op mijnlink, maar ook dat slaat zeg maar het idee dood dat je met de dom methodes nooit ongeldige html kan genereren, en met strings plakken/writen kan dat wel. De referentie naar je element mis je inderdaad ook. Hier is dat misschien niet zo boeiend, maar als je bv met events aan de gang gaat is het wel zo leuk dat je na het schrijven van je html elementen niet nog een keer op zoek hoeft te gaan naar die elementen.
Het is eenmalig en statisch (totdat er een onderhoudsbeurt aan te pas komt).
En ja, sorry, de laatste twee berichten had in 1x gekund, maar toen ik daar aan dacht, was het al te laat
[ Voor 8% gewijzigd door AxiMaxi op 04-05-2005 10:39 ]
[Hier had mijn handtekening kunnen staan]
Tegenwoordig zou je, in principe, met DOM-methodes al je elementen kunnen vervangen, beschrijven, childs toevoegen, etc
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.
Ach zo... ja, maar da's allemaal zo omslachtig, langdradig en complex. Vind je niet?BtM909 schreef op woensdag 04 mei 2005 @ 10:36:
[...]
Tegenwoordig zou je, in principe, met DOM-methodes al je elementen kunnen vervangen, beschrijven, childs toevoegen, etc
Of vloek ik nu in de kerk?
[Hier had mijn handtekening kunnen staan]
Verwijderd
Verwijderd
Nee je vloekt niet in de kerk, maar door onwetendheid ga je soms domme dingen roepenAxiMaxi schreef op woensdag 04 mei 2005 @ 10:38:
[...]
Ach zo... ja, maar da's allemaal zo omslachtig, langdradig en complex. Vind je niet?
Of vloek ik nu in de kerk?
In principe kun je alles met Javascript definieren. Je zult meestal niet complete pagina's gaan definiëren, maar wel aanzienlijke delen als componenten.
[ Voor 21% gewijzigd door Verwijderd op 04-05-2005 10:57 ]