[js] childNode.length altijd 2

Pagina: 1
Acties:

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 04-12-2025
Hallo,

Ik ben bezig met een dynamische tabel en ik heb daarvoor het aantal rijen in de tabel nodig. Nu dacht ik dat te kunnen doen met de volgende code maar daar komt altijd 2 uit.

code:
1
2
3
4
5
6
7
8
9
<table onClick="alert (this.childNodes.length)" border="1">
    <tr><td>1</td></tr>
    <tr><td>2</td></tr>
    <tr><td>3</td></tr>
    <tr><td>4</td></tr>
    <tr><td>5</td></tr>
    <tr><td>6</td></tr>
    <tr><td>7</td></tr>
</table>

Wat is hier nou mis mee?

Ik heb NumRows (geen waarde) ook al geprobeerd en ben al de hele morgen aan het zoeken maar ik kan niets vinden.

Verwijderd

Je table heeft minimaal een tbody childNode. De tr nodes zijn children van die tbody. De tweede node zou een textNode kunnen zijn met whitespace.

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 04-12-2025
Bedankt, daar heb ik verder mee gezocht en toen kwam ik bij deze uit

this.rows.length

Werkt ook perfect :)

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 04-12-2025
Nu is er trouwens de functie insertBefore maar is er ook een functie insertAfter (deze bestaat niet, dat weet ik) of iets gelijkend?

Verwijderd

Een insertAfter methode bestaat niet, hier zul je zelf helaas een functie voor moeten maken. Als de referentie node een nextSibling heeft moet je insertBefore gebruiken icm refNode.nextSibling. Als die nextSibling er niet is gebruik je appendChild.

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 04-12-2025
Ik zat te denken, je kunt met insertRow een index op geven. Als je nou de index van node houdige opvraagt en daar dan eentje bij optelt en die als index gebruikt voor insertRow?

Nu wou ik dat proberen maar ik weet niet hoe ik de index te pakken krijg. Weet iemand dit?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20:27

gorgi_19

Kruimeltjes zijn weer op :9

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Xlnt
  • Registratie: Oktober 2000
  • Laatst online: 03-05 18:18
Slagroom schreef op 10 juli 2004 @ 13:23:
Ik zat te denken, je kunt met insertRow een index op geven. Als je nou de index van node houdige opvraagt en daar dan eentje bij optelt en die als index gebruikt voor insertRow?
Let wel dat tussen het opvragen van de index en het invoegen van de rij, de rij-index alweer gewijzigd kan zijn. Beter is daarom om nextSibling te gebruiken. Je kunt nooit zeker weten of de rij werkelijk ná de andere wordt ingevoegd, maar met nextSibling weet je in ieder geval zeker dat de rij vóór de volgende wordt ingevoegd. Heel belangrijk is het overigens niet ;).
Nu wou ik dat proberen maar ik weet niet hoe ik de index te pakken krijg. Weet iemand dit?
Probeer rowIndex :Z.

"It's not that I'm lazy. It's that I just don't care."


  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 25-02 11:17

Clay

cookie erbij?

rows hebben idd een rowIndex en cells een cellIndex, maar let er wel op dat deze inidces geen rekening houden met row of cell spans. Cellen uit verschillende rows met verschillende indices kunnen door spanning dus toch boven elkaar staan.
Persoonlijk vind ik dat dom, en voor mij bleek (toen ik het nodig) had de hele property daardoor compleet nutteloos. Kon je het alsnog zelf gaan coden. :{

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin

Pagina: 1