Antje Hofmann: cell.children.tags('a')[0].click();

Beitrag lesen

Hallo Sebastian,

Das glaube ich auch und kann ich verstehen. Außerdem weiß ich nicht, ob der Aufruf eines Links mit self.location.href auch in die Browser-History eingetragen wird.

doch wird, aber click() kennt nur der IE und Opera

Gerade an der Stelle komme ich nicht weiter. Wie spreche ich das Kindselement von einem Kindselement an? Geht das vielleicht über

cell.children(1).tags('a')[0].click();   ?
--------------^-----------------------

Teste mal das:

<table width="100%" >
<tr onclick="if (document.all) this.cells[2].all.tags('a')[0].click();
else if (document.getElementsByTagName)
if (this.cells) self.location.href=this.cells[2].getElementsByTagName('a')[0].href;
else self.location.href=this.getElementsByTagName('td')[2].getElementsByTagName('a')[0].href">
 <td> Testtext</td>
 <td>Testtext </td>
 <td><a href="javascript:alert(1)">Verweis</a>  </td>
 <td> Testtext</td>
</tr>
<tr  onclick="if (document.all) this.cells[1].all.tags('a')[0].click();
else if (document.getElementsByTagName)
if (this.cells) self.location.href=this.cells[1].getElementsByTagName('a')[0].href;
else self.location.href=this.getElementsByTagName('td')[1].getElementsByTagName('a')[0].href">
 <td> Testtext</td>
 <td><a href="javascript:alert(2)">Verweis</a> </td>
 <td>Testtext </td>
 <td>Testtext </td>
</tr>
</table>

Der Aufruf:

if (document.all) this.cells[2].all.tags('a')[0].click(); //IE ab Version 4
else if (document.getElementsByTagName)
if (this.cells) self.location.href=this.cells[2].getElementsByTagName('a')[0].href; //NN 6
else self.location.href=this.getElementsByTagName('td')[2].getElementsByTagName('a')[0].href  //Opera ab 5.12

this nimmt bezug auf die Zeile
cells ist das Array der Zellen einer Zeile

mit this.cells[2]. bzw. this.getElementsByTagName('td')[2] greifst du auf die entsprechende Zelle zu und dann weiter auf den Verweis.

Viele Grüße

Antje
Viele Grüße