2010-10-07 5 views
1

J'ai une table HTML dans laquelle la première cellule de chaque ligne contient du texte et la deuxième cellule contient un lien. Comme si:Déclenchement d'un lien dans une cellule de table adjacente à l'aide de jQuery

<table id="foo"> 
    <tr> 
    <td>Some text</td> 
    <td><a href="/path/to/file/"><img src="/path/to/image.jpg" /></a></td> 
    </tr> 
    ... 
</table> 

J'ai un effet de vol stationnaire sur la première cellule de table et lorsqu'un utilisateur clique sur la première cellule que je voulais déclencher le lien dans la cellule suivante, donc j'enchaînée une fonction de clic un peu comme ceci:

$('#foo tr td:first-child').hover(...).click(
    function() { 
    $(this).next().children().click(); 
    } 
); 

Cela ne fonctionne pas. J'ai essayé plusieurs façons différentes sans succès. Je me rends compte que je pourrais mettre le texte et le lien dans la même cellule et peut finir par le faire, mais c'est une version simplifiée de la façon dont ma page est réellement et il faudrait un peu de travail pour remanier les choses.

Qu'est-ce que je fais mal?

Répondre

1

En cliquant sur un lien programme ne va pas au href, seul un natif (utilisateur) clic, vous pouvez l'imiter si, comme ceci:

$('#foo tr td:first-child').hover(...).click(
    function() { 
    window.location.href = $(this).next().children('a').attr('href'); 
    } 
); 

Ceci définit la window.location.href pour aller à la destination URL

+0

Brillant, merci! – tamewhale