[Javascript/DHTML] Relatief adresseeren van een element

Pagina: 1
Acties:

  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
Ik heb een anchor tag in een table row staan. Als ik over een ander element (een image bijvoorbeeld) een mouseOver doe (of Out) wil ik dat de classe van mijn anchor veranderd. De layout van zo'n TR is steeds hetzelfde en ik vroeg me dus af of dit ZONDER "id's" kon. Ie zoiets als: als onMouseOver dan verander het eerste anchor element in deze Row.

Maar vind totaal geen voorbeelden of tips. Alleen de "usual" getElementByID gedoe. Aangezien de pagina door een halve NOOB moet manueel worden bijgehouden zocht ik naar een elegante? methode... (ie eentje die hij can c/p zonder met id's iets te moeten doen).

Heb al vanalles geprobeert maar "this" geeft toch niet wat ik als programmeur verwacht terug. Kun je de DOM boom niet gewoon afgaan met zoiets als childNodes() etc?

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

previousChild, nextChild, nextSibling etcetera

Intentionally left blank


  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
thx, na veel probeer met bovenstaande werkt ie nu :)...

op een TR met onMouseOver = "this.firstChild.nextSibling.nextSibling.firstChild.style.color = ... "

thx crisp

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

je kunt ook this.getElementsByTagName('img') gebruiken, dan krijg je de child <img>'s terug in een array van die tr :)

[ Voor 14% gewijzigd door SchizoDuckie op 27-07-2004 13:54 ]

Stop uploading passwords to Github!


  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
hmm op firefox werkt het niet :( (wel IE, safari, ie for mac)

code:
1
2
3
4
5
6
7
8
<tr>
    <td onMouseOver="this.nextSibling.nextSibling.firstChild.className='product2'"
          onMouseOut="this.nextSibling.nextSibling.firstChild.className='product'" >
            <a href="v.php?">[img]"test.jpg"[/img]</a>
    </td>
    <td></td>
    <td><a href="v.php?" class="product">description</a></td>
</tr>


iemand een idee waarom?

  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Zitten er in Firefox misschien nog whitespaces tussen die als textNode gezien worden? Wat is de foutmelding?

  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
hmm idd...

dus op Firefox is die meer "juist" dan de IE? Nu ja gewoon opgelost door alle TABS te verwijderen... Thx :)

  • coubertin119
  • Registratie: Augustus 2002
  • Laatst online: 15-05 15:12
Tussenliggende whitespace zijn afzonderlijke textnodes, dus FireFox doet het juist :).

Skat! Skat! Skat!


Verwijderd

Die DOM inspector is zo verdomde handig :) dan kun je dat dus gewoon zien.
Pagina: 1