2011-01-15 24 views
3

hey, Ich versuche, den Inhalt einer Zelle mit jquery ändern, aber ich kann nicht scheinen, es funktioniert. Diese Tabelle können sagen, wir haben:Ändern Sie den Inhalt einer Zelle aus einer anderen Zelle

<table border="1"> 
<tr> 
<td>cell 1 
<td>cell 2 
<td>cell 3 
<tr> 
<td>cell 4 
<td>cell 5 
<td>cell 6 <a onclick="javascript:$(this).parent().parent().('td').html('test');">Click</a> 
<tr> 
<td>cell 7 
<td>cell 8 
<td>cell 9 
</table> 

ich will 4 den Inhalt der Zelle ändern, von innerhalb der Zelle 6. (‚td‘) offensichtlich ist nicht arbeiten. Wie kann ich auf Zelle 4 von Zelle 6 ohne die Verwendung von Klassen oder IDs zugreifen? danke im voraus

Antwort

5

Sie wollen dies stattdessen, da Sie eine, und zwei zurückgehen wollen.

$(this).parent().prev().prev().html('test'); 

oder so:

$(this).parent().prevAll(':last').html('test'); 

oder dies:

$(this).parent().siblings(':first-child').html('test'); 

... oder man könnte es ziemlich leicht, ohne jQuery tun:

this.parentNode.parentNode.cells[0].innerHTML = 'test'; 
+1

Dank! das hat es getan! – robs

0

Ändern Sie den Javascript zu sein:

$ (this) .parent(). Parent(). Kinder ('td'). Eq (0) .html ('Test');

Dies ruft das erste untergeordnete td der Tabellenzeile (Zelle 4) ab und legt das HTML fest.

0

Wenn Sie das vierte <td> in Ihrer Tabelle ändern möchten, können Sie auf der closest Tisch gehen, und dann find die 4. <td> in seinem Inneren. Dann können Sie den HTML-Code ändern.

$(this).closest('table').find('td:eq(3)').html('test'); 

Live Example

Verwandte Themen