L'alerte à l'intérieur de la fonction de clic ne fonctionne pas non plus.
qui suggérerait au moment où vous faites votre $("#hid").click(...
, l'élément avec l'ID hid
n'existe pas encore dans les DOM. Vous ne pouvez pas accéder aux éléments DOM avant qu'ils ne soient créés.
Trois façons de vous assurer qu'ils ont été créés avant d'essayer d'y accéder sont d'utiliser la fonction simplement pour assurer que votre code de script jQuery ready
est chargé après l'élément en question, ou d'utiliser jQuery de live
fonctionnalité.
Ainsi par exemple, cela échouera:
<html>
...
<script type='text/javascript' src='jquery.js'></script>
<script type='text/javascript'>
$("#hid").click(...);
</script>
</head>
<body>
<div id='hid'>...</div>
...
Mais cela fonctionnera (via un raccourci pour ready
):
<html>
...
<script type='text/javascript' src='jquery.js'></script>
<script type='text/javascript'>
jQuery(function($) {
$("#hid").click(...);
});
</script>
</head>
<body>
<div id='hid'>...</div>
...
Comme on ce (parce que le script est situé après l'élément dans le balisage):
<html>
...
<script type='text/javascript' src='jquery.js'></script>
</head>
<body>
<div id='hid'>...</div>
<script type='text/javascript'>
$("#hid").click(...);
</script>
...
... ce dernier étant la façon dont l'équipe de Google derrière Closurerecommend; De même, le YUI team recommend en mettant vos scripts juste avant la fermeture de votre tag body
, ce qui revient au même.
Et cela fonctionnera (via live
):
<html>
...
<script type='text/javascript' src='jquery.js'></script>
<script type='text/javascript'>
$("#hid").live('click', ...);
</script>
</head>
<body>
<div id='hid'>...</div>
...
fonctionne bien? http://www.jsfiddle.net/4yUqL/19/ – jAndy
cela ne fonctionne pas ici. J'ai inclus les bibliothèques jquery. Je n'ai pas une idée de wats mal dans ce code – CHID