Bonjour,
Résultat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 //Générer l'arbre html du menu function displayNav($array) { //html du menu $html = ""; if ( count($array )> 0 ) { //Menu principal $html .= '<ul>'; foreach ($array as $item) { $html .= '<li>'; $html .= '<a href="#"'; if ( $item['css'] ) $html .= ' class="'.$item['css'].'"'; $html .= '>'.$item['name'].'</a>'; //Sous menu ( is_array($item['subs']) && count($item['subs']) > 0 ) ? $html .= displayNav($item['subs']) : ''; $html .= '</li>'; } $html .= '</ul>'; } return $html; } $temp = array( array('name' => 'Accueil', 'css' => NULL, 'subs' => NULL), array('name' => 'Pays', 'css' => NULL, 'subs' => array( array('name' => 'Rca', 'css' => NULL, 'subs' => NULL), array('name' => 'Rdc', 'css' => 'current', 'subs' => NULL), array('name' => 'Tchad', 'css' => NULL, 'subs' => NULL)) ), array('name' => 'Contact', 'css' => NULL, 'subs' => NULL) ); echo displayNav($temp);
Je souhaite donc modifier displayNav() pour ajouter une classe .chemin sur les parents li de .current.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <ul> <li><a href="#">Accueil</a></li> <li><a href="#">Pays</a> <ul> <li><a href="#">Rca</a></li> <li><a href="#" class="current">Rdc</a></li> <li><a href="#">Tchad</a></li> </ul> </li> <li><a href="#">Contact</a></li> </ul>
Voici le résultat attendu
En JavaScript, je le fais ainsi avec jQuery
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <ul> <li><a href="#">Accueil</a></li> <li class="chemin"><a href="#">Pays</a> <ul> <li><a href="#">Rca</a></li> <li class="chemin"><a href="#" class="current">Rdc</a></li> <li><a href="#">Tchad</a></li> </ul> </li> <li><a href="#">Contact</a></li> </ul>
Comment le faire en Php ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $('.current').parents("li").addClass('chemin');
Merci d'avance...
Partager