11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

Voilà je suis confronté à un pb que je n'arrive pas à solutionner:

J'ai une page de ce type

<table>

<td id='td_1'>

<table id='table2'

<td id='td_2'>toto</td>

</table>

</td>

</table>

Je voudrais savoir si l'utilisateur clique sur le td_1 ou sur le td_2. A l'aide de ce code

<td id='td_1' onclick=\"$(this).click(function() {alert($(this).attr('id'))});\">

Seulement jquery me retourne toujours l'id td_1 même si je clique sur le td_2.

Quelqu'un aurait-il la solution ?

par avance merci
Il est bien préférable d'inclure ton code js dans un fichier externe.
Un snippet dans ce style devrait fonctionner.

$(document).ready( function() {
    $('table').click(function(){
        alert($(this).find('td').attr('id'));
    });
Merci Paolo je viens de tester ca fonctionne.
J'ai naturellement mis le code dans un fichier js a part.
Par contre tu peux peut être m'éclairer car je ne clique qu'une fois sur le table et j'ai plein d'alert de tous les td comment faire pour qu'il ne fasse que le premier td et s'arrête ?

par avance merci
Bon décidemment je deviens fou. non ca ne fonctionne pas. Voici le code :
var test_clique=0;
$('table').click(function(){

if ($(this).find('td').attr('id')=='td_1' && test_clique==0)
{
test_clique=0;
return test_clique;
}
else
{
test_clique=1;
return test_clique;
}
});

Si je clique une fois sur td_1 --> ok pas de pb,
Si ensuite je clique sur td_2 --> ok pas de pb
Je reclique sur td_1 et la il boucle deux fois sur le td_1 ?
Salut,

Essaie avec ceci ?


$(function() {
	// do something on document ready
	$('td').click(function(e) {
		console.log(e.target.id);
		e.stopPropagation();
	});
});


tm