2011-09-06 5 views
12

J'essaie d'utiliser JQuery pour rendre une ligne de table cliquable et rediriger vers une URL qui est cachée dans la première cellule. J'ai une image dans la dernière colonne du tableau qui devrait rediriger vers une URL différente.JQuery - Ligne de tableau cliquable, sauf la dernière cellule

JQuery est la suivante.

$(function() { 
    $('#link-table td:first-child').hide(); 

    $('#link-table tr').hover(function() { 
     $(this).toggleClass('highlight'); 
    }); 

    $('#link-table tr').click(function() { 
     location.href = $(this).find('td a').attr('href'); 
    }); 
}); 

En cliquant sur les travaux de ligne, en cliquant sur le lien de l'image dans la dernière cellule redirige vers la même URL que cliquant sur la ligne qui est pas ce que je veux.

J'ai essayé d'utiliser ce code pour l'événement click

$('#link-table tr td:not(:last-child))').click(function() { 
     location.href = $(this).find('td a').attr('href'); 
    }); 

En cliquant sur le lien d'image dans les dernières œuvres de cellules mais en cliquant sur la ligne redirige maintenant vers l'URL attachée à l'hyperlien d'image dans la dernière cellule.

Comment puis-je l'obtenir en cliquant sur la ligne redirige vers une URL, en cliquant sur le lien hypertexte dans la dernière cellule redirige vers un autre?

Répondre

20
$('#link-table tr td:not(:last-child)').click(function() { 
     location.href = $(this).find('td a').attr('href'); 
    }); 

Votre $(this) est le '#link-table tr td:not(:last-child))', vous pouvez trouver le tr avec var tr = $(this).closest('tr'); Ensuite, vous pouvez utiliser var tr pour faire tout ce que vous aimez

puis trouver 'td a' etc.

+0

C'était la bonne solution. Il y a un support supplémentaire là-dedans qui était en train de tout bousiller un peu, je pense. Au lieu de cela, il faut lire $ ('# link-table tr td: not (: last-child)'). – Tom

0

Vous devez probablement retourner:

$('#link-table tr').last().click(function() { 
    return false; 
}); 
+0

Vous êtes sélectionner la dernière rangée. Il veut pour toutes les lignes sauf le dernier td de la rangée. –

+0

A droite, ce serait en plus de son autre code. – VNO

Questions connexes