J'ai un menu accordéon simpliste

Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<ul id="mymenu" class="sm">
 	<li class="m1 active" data-family="A"></li>
        <li class="m2" data-family="B"></li>
	<li class="m3" data-family="C"></li>
	<li class="m4" data-family="D"></li>
	<li class="m5" data-family="E"></li>
        <li class="m6" data-family="F"></li>
	<li class="m7" data-family="G"></li>
	<li class="m8" data-family="I"></li>
        <li class="m9" data-family="J"></li>
</ul>

curieusement lorsque j'ai souhaité mettre ne place une navigation dessus
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 $("#mymenu>li").click(function(e){
               e.preventDefault();
               window.location.href="page_"+$(this).data('family')+".php" ;
               });
Il me retouirne un defined sur le data ?

Je suis pour le coup obligé de passer par :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 $("#mymenu>li").click(function(e){
               e.preventDefault();
               window.location.href="famille_"+$(this).get(0).getAttribute('data-family')+".php" ;
               });
Je ne trouve aucune explication à cela ...