Als ik aan een <a>-element de onclick-attribuut toevoeg met daarin een functieaanroep die this als parameter meegeeft:
dan kan ik in die functie wel properties uitlezen van het <a>-element m.b.v. de meegegeven parameter this:
maar kan ik niet omringende elementen 'bereiken' m.b.v. DOM-properties zoals nextSibling of parent:
Dit levert de foutmelding: "nextElement has no properties". Voor de zekerheid heb ik de constructor van element gecontroleerd, dat is een HTMLAnchorElement, dat is een afgeleide van het Node-object en dat zou dus properties zoals nextSibling of parent moeten ondersteunen.
Dit werkt wel:
maar dat vind ik minder elegant, het lijkt mij handig om als je toch binnen de context van een element bent, andere element via DOM-properties te bereiken.
Doe ik iets verkeerd?
HTML:
1
| <p id="para"><a href="#" onclick=test(this);">...</a></p> |
dan kan ik in die functie wel properties uitlezen van het <a>-element m.b.v. de meegegeven parameter this:
JavaScript:
1
2
3
| function test(element) { alert(element.href); } |
maar kan ik niet omringende elementen 'bereiken' m.b.v. DOM-properties zoals nextSibling of parent:
JavaScript:
1
2
3
4
| function test(element) { var parentElement = element.parent; alert(parentElement.id); } |
Dit levert de foutmelding: "nextElement has no properties". Voor de zekerheid heb ik de constructor van element gecontroleerd, dat is een HTMLAnchorElement, dat is een afgeleide van het Node-object en dat zou dus properties zoals nextSibling of parent moeten ondersteunen.
Dit werkt wel:
HTML:
1
| <p id="para"><a href="#" onclick=test('para');">...</a></p> |
JavaScript:
1
2
3
4
| function test(parentId) { var parentElement = document.getElementById(parentId); alert(parentElement.id); } |
maar dat vind ik minder elegant, het lijkt mij handig om als je toch binnen de context van een element bent, andere element via DOM-properties te bereiken.
Doe ik iets verkeerd?