/ / JQuery funziona nel violino JS, ma non sul mio sito Web? [duplicato] - jquery, class, selector, jsfiddle

JQuery funziona con JS fiddle, ma non sul mio sito web? [duplicato] - jquery, classe, selettore, jsfiddle

Va bene, sta succedendo qualcosa di veramente frustrante e strano. Ho JQuery installato sul mio server e so che è stato importato correttamente perché quando eseguo un semplice ...

$(function() { alert("hello") });

Segnala "ciao". Tuttavia, quando provo ad usare un selettore CSS ...

$(".image").css("border","3px solid red");

Non funziona! Sì, sono sicuro al 100% che ci sia qualcosa con quel nome di classe nel file. Ecco il vero kicker, quando COPIA PASSATO il mio codice in un jsFiddle ha funzionato bene. Cosa dà ?!

risposte:

7 per risposta № 1

Il tuo jsFiddle è pronto per onload nella parte superiore sinistra della finestra di jsFiddle. Se lo si imposta su "No Wrap - in Head" che simula il codice in <head> tag, quindi il tuo jsFiddle non funziona più.

Il onload impostazione significa che jsFiddle non esegue javascript fino a quando la pagina non è stata caricata.

Nella tua pagina reale, probabilmente stai eseguendo javascript troppo presto prima che la pagina sia stata caricata.

Puoi risolvere il problema inserendo il tuo javascript in proprio .ready() funzione:

$(document).ready(function(){
$(".image").css("border","3px solid red");
});

In alternativa, puoi assicurarti che javascript non sia caricato / eseguito fino a prima di </body> tag che è un modo semplice per assicurarsi che il contenuto della tua pagina sia caricato prima dell'esecuzione dello script.

<body>
Your HTML content here

<script>
// your script here that runs after all of the DOM is parsed
$(".image").css("border","3px solid red");
</script>

</body>

Vedere questa risposta per maggiori dettagli sul posizionamento di <script> tag in modo appropriato.


0 per risposta № 2

Hai testato l'aggiunta all'interno $(document).ready(function(){}); ?

<script src="http://code.jquery.com/jquery-1.10.0.min.js"></script>
<script>
$(document).ready(function(){
$(".image").css("border","3px solid red");
});
</script>

-2 per risposta № 3
if u have a internet connection following link useful for you

<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>

above link put inside a body or before write a script and please verify jquery js file.