2010-04-24 3 views
0

ce codePourquoi ce code fonctionne avec jquery 1.3.2 mais pas avec 1.4.2?

var tip = "<p class='adobe-reader-download'>Most computers will open PDF documents automatically, but you may need to download <a title='Link to Adobe website-opens in a new window'"; 
tip +=" href='http://www.adobe.com/products/acrobat/readstep2.html' target='_blank'>Adobe Reader</a>.</p>"; 


if($("div#maincontent a[href*='.pdf']").length>0){ 
    $("div#maincontent").children(":last-child").after(tip); 

fonctionne très bien avec ce

<script 
src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" 
type="text/javascript"></script> 

mais ne fonctionne pas avec ce

<script 
type="text/jscript" 
src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"> 
</script> 
+3

Eh bien, pour un, vous n'avez pas échappé aux guillemets autour de 'adobe-reader-download'. – cletus

+0

Je ne sais pas pourquoi. mais peut-être parce que votre si n'est pas fermé .. PS: vous pouvez vous débarrasser de la "> 0" cela fonctionne sans: P – meo

+0

Vous n'expliquez pas vraiment beaucoup sur ce qui ne fonctionne pas. Avez-vous essayé de fouiller avec Firebug pour voir ce qui se passe? Le DOM est-il modifié du tout? Y at-il des erreurs? – Pointy

Répondre

1
$(document).ready(function() { 
      var tip = "<p class='adobe-reader-download'>Most computers will open PDF documents automatically, but you may need to download <a title='Link to Adobe website-opens in a new window'"; 

      tip += " href='http://www.adobe.com/products/acrobat/readstep2.html' target='_blank'>Adobe Reader</a>.</p>"; 


      if ($("div#maincontent a[href*='.pdf']").length > 0) { 
       $("div#maincontent").children(":last-child").after(tip); 
      } 
     }); 

avec ceci:

<div id="maincontent"> 
    <a href="sample.pdf">your pdf</a> 
</div> 

pour les sorties avec JQ 1.4:

Votre pdf

La plupart des ordinateurs ouvrir des documents PDF automatiquement, mais vous pouvez avoir besoin de télécharger Adobe Reader.

+0

ne fonctionne toujours pas avec 1.4.2. ce classname 'class = 'adobe-reader-download'' fonctionne avec 1.3.2 –

+0

mis à jour la réponse – XGreen

+0

j'ai juste comme ça et ça marche bien avec 1.4 – XGreen

2

Que voulez-vous dire par "ne fonctionne pas"? Est-ce que le pourboire n'est pas ajouté à la page? Est-ce que le lien pour la pointe ne fonctionne pas? Soyez un peu plus descriptif quand vous dites que ça ne marche pas, dites-nous comment.

J'ai fait un exemple de ce code ici: http://jsbin.com/akugo/edit

Avec JSBin vous pouvez lui dire quelle version de jQuery à utiliser, et je l'ai testé à l'aide 1.3.2 et 1.4.2 et je ne Ne vois pas de problèmes. La seule chose que j'ai changé du code que vous avez posté est que j'ai fermé l'instruction "if" avec un crochet ("}").

Questions connexes