Klick auf Tabellenzeile --> gehe zu Link-Adresse aus erster Tabellenzelle?

cocoon

Erfahrenes Mitglied
Mein Dokument sieht etwa so aus:

HTML:
<tr onclick="">
   <td>
      <a href="pid=23">Profile</a>
   </td>
   <td>Name</td>
   <td>Phone</td>
</tr>

Wenn jetzt die Tabellenzelle geklickt wird, soll die Seite pid=23 aufgerufen werden, also quasi wie als wenn der Link der ersten Zelle dieser Zeile gedrueckt wuerde. Folgendes habe ich versucht, was alles nicht funktioniert:

* <tr onclick="getElementsByTagName('a')[0].click();">
* <tr onclick="getElementsByTagName('td')[0].getElementsByTagName('a')[0].click();">
* <tr onclick="childNodes[0].childNodes[0].click();">
* <tr onclick="location.href=childNodes[0].childNodes[0].href">


Kann jemand helfen, was das korrekte JavaScript waere, um das Element zu erreichen (ich muss es auf diesem Wege machen, da die tabellenzeilen usw. automatisch durch das CMS generiert werden, bspw. geht damit getElementById nicht, da irgendeine Id generiert wird, die ich vorher nicht wissen kann)
 
1. Ist die getElementsById/getElementsByTagName methode vom document gesponsert, daher musst du auch "document." davor schreiben.
2. Müsstest du ihm sagen onclick="location.href = $$('tr td a')[0].href".
Sofern du Prototype eingebunden hast.
Ich mach schnell ein paar tests um das auch ohne prototype möglich zu machen.

verate mir doch noch ob sich nur diese eine Tabelle in der Webseite befindet?
bzw. ob du mehrere tr's hast dann würde es ja immer nur auf den ersten link angewendet werden.

MFG
Mark Paspirgilis


edit: Was ist denn das überhaupt für ein link?
Angenommen du befindest dich auf dieser domain: http://www.beispiel.de
dann würdest du dahin verlinken: http://www.beispiel.de/pid=23
Und das ist definitiv nicht valide. Vielleicht meintest du "?pid=23"

Jop, mit dem onclick gings bei mir:
<tr onclick="location.href = this.getElementsByTagName('a')[0].href">

MFG
Mark Paspirgilis

PS: falls ich dir geholfen haben sollte bitte positiv bewerten
 
Wenn du das für mehrere Zeilen machen willst ohne jedesmal den Index zu ändern kannst du auch
Code:
<tr onclick="location.href = this.childNodes[0].childNodes[0].href;">

verwenden.

LG
 

Neue Beiträge

Zurück