Soit le HTML suivant qui reproduit une situation rencontrée dans l'une de mes pages :
Si vous cliquez sur le lien "ajout" puis "test", vous pourriez vous attendre à l'affichage "egal = 1" puis "Fini par = 2". C'est vrai pour tous les navigateurs que j'ai testé (Chrome,Opéra, FireFox, IE8) sauf IE7 !? Pas essayé IE6. Précision : JQuery en version 1.3.2
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
33
34
35 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> Hum Hum </title> <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript"> $(document).ready( function() { // Ajout contenu par exemple via ajax, "en dur" ici... $("#a_ajout").click( function() { $("#div_test").html( "<a id='a_1' href='456'>Ancre 1</a><a id='a_2' href='123456'>Ancre 2</a>"); return false; }); $("#a_test").click( function() { alert( "Egal = " + $("a[href=456]").length ); alert( "Fini par = " + $("a[href$=456]").length ); return false; }); }); </script> </head> <body> <a id="a_ajout" href="#">Click pour ajout</a> <a id="a_test" href="#">Click pour test IE7</a> <div id="div_test"> </div> </body> </html>
Ah, oui, sous IE7, l'affichage est "Egal = 0" et "Fini par = 2"
Pourquoi "Egal = 0" pour IE7 !?
Auriez-vous une explication ?
Partager