2010-10-14 10 views
32

Ho il jQuery caricato bene, ho quadruplo-controllato, anche se sto ricevendo questo errore in FireBug "$ non è una funzione" e il mio codice non funziona.

Ecco il mio codice:

<script type="text/javascript"> 
    $("ol li:nth-child(1)").addClass('olli1'); 
    $("ol li:nth-child(2)").addClass("olli2"); 
    $("ol li:nth-child(3)").addClass("olli3"); 
    $("ol li:nth-child(4)").addClass("olli4"); 
    $("ol li:nth-child(5)").addClass("olli5"); 
    $("ol li:nth-child(6)").addClass("olli6"); 
    $("ol li:nth-child(7)").addClass("olli7"); 
    $("ol li:nth-child(8)").addClass("olli8"); 
    $("ol li:nth-child(9)").addClass("olli9"); 
    $("ol li:nth-child(10)").addClass("olli10"); 
    $("ol li:nth-child(11)").addClass("olli11"); 
    $("ol li:nth-child(12)").addClass("olli12"); 
    $("ol li:nth-child(13)").addClass("olli13"); 
    $("ol li:nth-child(14)").addClass("olli14"); 
    $("ol li:nth-child(15)").addClass("olli15"); 
    $("ol li:nth-child(16)").addClass("olli16"); 
    $("ol li:nth-child(17)").addClass("olli17"); 
    $("ol li:nth-child(18)").addClass("olli18"); 
    $("ol li:nth-child(19)").addClass("olli19"); 
    $("ol li:nth-child(20)").addClass("olli20"); 
</script> 
+0

dove è che il codice, in relazione a quando l oad gli script jQuery? – RPM1984

+2

Puoi confermare in firebug che jquery viene caricato? Puoi mostrare la tua testa? –

+0

jQuery viene caricato nell'intestazione e questo script nel piè di pagina, quindi questo non è il problema – Alex

risposta

95

In Wordpress jQuery.noConflict() è chiamato sul jQuery il file include (scorrere fino alla fine del file è anche per jQuery per vedere questo), che significa $ non funziona, ma jQuery lo fa, in modo che il codice dovrebbe simile a questa:

<script type="text/javascript"> 
    jQuery(function($) { 
    for(var i=0; i <= 20; i++) 
     $("ol li:nth-child(" + i + ")").addClass('olli' + i); 
    }); 
</script> 
+0

Ho sostituito il mio codice con questo, ma ancora non funziona. Questa è la pagina http://www.softsailor.com/how-to/46957-how-to-use-greenpois0n-to-jailbreak-iphone-4-3gs-ipad-ipod-touch-ios-4-14- 0.html – Alex

+0

Grazie anche per averlo ottimizzato :) – Alex

+0

@Alex - Dare un'occhiata, noConflict è sicuramente il tuo problema con '$' ... vederlo nel tuo jQuery include alla fine: http://www.softsailor.com /wp-includes/js/jquery/jquery.js?ver=1.4.2, vedendo cos'altro è sbagliato ora. –

3

Per quanto si riferisce a RPM1984, questo è molto probabilmente causato dal fatto che lo script sta caricando prima di jQuery è caricato.

+0

jQuery viene caricato nell'intestazione e questo script nel piè di pagina, quindi questo non è il problema. – Alex

+1

grazie, mi hai salvato il tempo –

-3

Ci sono due possibili ragioni di questo errore:

  1. tuo jquery file di script di riferimento non è valido
  2. tenta di mettere il codice jQuery in document.ready, in questo modo:

    $ (document) .ready (function() {

    .... il codice ....

    });

applausi

+0

jQuery è incluso automaticamente da Wordpress. L'ho provato e non funziona ancora. – Alex

+1

Non penso che l'uso o la non-uso del costrutto documento pronto farebbe alcuna differenza qui. Inoltre, se '$' non è ancora definito, come puoi chiamare $ (document.ready (...)? Mi spiace, -1. – mkoistinen

+0

va bene, me lo sono meritato;) evviva – Marko

1

che calcia di errore in cui si è dimenticato di includere la libreria jQuery nella vostra pagina o non v'è conflitto tra le librerie - per esempio si prevede di utilizzare qualsiasi altra libreria javascript sulla tua pagina.

Date un'occhiata a questo per ulteriori informazioni:

0

Quando jQuery non è presente si ottiene $ is undefined e non il messaggio.

Hai controllato se non hai una variabile chiamata $ da qualche parte prima del tuo codice?
Ispeziona il valore di $ in firebug per vedere di cosa si tratta.

Leggermente fuori discussione, ma non riesco a resistere a scrivere un codice più breve per il vostro lavoro di classe:

var i = 1; 
    $("ol li").each(function(){ 
     $(this).addClass('olli' + i++); 
    }); 
19

E 'davvero difficile da raccontare, ma una delle 9001 annunci sulla pagina può essere bombardando l'oggetto $.

jQuery fornisce l'oggetto globale jQuery (che è presente sulla pagina). È possibile effettuare le seguenti operazioni per "ottenere" $ indietro:

jQuery(document).ready(function ($) { 
    // Your code here 
}); 

Se credi di avere problemi di jQuery, si prega di utilizzare il debug (non di produzione) versioni della libreria.

Inoltre, probabilmente non è meglio modificare un sito live come quello ...

+0

Ottimo! Grazie mille! :) – joryl

0
<script type="text/javascript"> 
    $("ol li:nth-child(1)").addClass('olli1'); 
    $("ol li:nth-child(2)").addClass("olli2"); 
    $("ol li:nth-child(3)").addClass("olli3"); 
    $("ol li:nth-child(4)").addClass("olli4"); 
    $("ol li:nth-child(5)").addClass("olli5"); 
    $("ol li:nth-child(6)").addClass("olli6"); 
    $("ol li:nth-child(7)").addClass("olli7"); 
    $("ol li:nth-child(8)").addClass("olli8"); 
    $("ol li:nth-child(9)").addClass("olli9"); 
    $("ol li:nth-child(10)").addClass("olli10"); 
    $("ol li:nth-child(11)").addClass("olli11"); 
    $("ol li:nth-child(12)").addClass("olli12"); 
    $("ol li:nth-child(13)").addClass("olli13"); 
    $("ol li:nth-child(14)").addClass("olli14"); 
    $("ol li:nth-child(15)").addClass("olli15"); 
    $("ol li:nth-child(16)").addClass("olli16"); 
    $("ol li:nth-child(17)").addClass("olli17"); 
    $("ol li:nth-child(18)").addClass("olli18"); 
    $("ol li:nth-child(19)").addClass("olli19"); 
    $("ol li:nth-child(20)").addClass("olli20"); 
</script> 

cambiamento che questo

<script type="text/javascript"> 
     jQuery(document).ready(function ($) { 
     $("ol li:nth-child(1)").addClass('olli1'); 
     $("ol li:nth-child(2)").addClass("olli2"); 
     $("ol li:nth-child(3)").addClass("olli3"); 
     $("ol li:nth-child(4)").addClass("olli4"); 
     $("ol li:nth-child(5)").addClass("olli5"); 
     $("ol li:nth-child(6)").addClass("olli6"); 
     $("ol li:nth-child(7)").addClass("olli7"); 
     $("ol li:nth-child(8)").addClass("olli8"); 
     $("ol li:nth-child(9)").addClass("olli9"); 
     $("ol li:nth-child(10)").addClass("olli10"); 
     $("ol li:nth-child(11)").addClass("olli11"); 
     $("ol li:nth-child(12)").addClass("olli12"); 
     $("ol li:nth-child(13)").addClass("olli13"); 
     $("ol li:nth-child(14)").addClass("olli14"); 
     $("ol li:nth-child(15)").addClass("olli15"); 
     $("ol li:nth-child(16)").addClass("olli16"); 
     $("ol li:nth-child(17)").addClass("olli17"); 
     $("ol li:nth-child(18)").addClass("olli18"); 
     $("ol li:nth-child(19)").addClass("olli19"); 
     $("ol li:nth-child(20)").addClass("olli20"); 
    }); 
    </script> 
Problemi correlati