2010-11-11 6 views
2
function divlightbox(val) 
{ 
    if(val) 
    { 
     val=val.replace(/^\s+/g, ""); 
     var count_js=0; 
     var big_string=''; 
     document.getElementById("video_lightbox").innerHTML=""; 
     document.getElementById("divlightbox").style.display = "block"; 
     $("#video_lightbox").css({"height":"430px","top":"10%","width":"480px"}); 

J'ai découvert que l'erreur est dans ce qui précède. Ma question est je ne peux pas utiliser jQuery et JavaScript traditionnel en même temps? J'ai codé plusieurs fois comme ça et je n'ai jamais rencontré un problème comme celui-ci. J'avais l'habitude d'employer des méthodes de jQuery comme .hide() et .css() dans des fonctions de Javascript mais cette fois cela ne fonctionne pas.Utilisation de jQuery dans une fonction JavaScript

Merci d'avance.

+5

jQuery IS javascript. BTW, quelle erreur renvoie la console javascript/firebug? –

+2

Quelle erreur obtenez-vous? l'avez-vous regardé dans firebug? –

+1

Est-ce que jQuery est chargé au moment de l'appel de cette fonction? –

Répondre

4

de faire des choses comme cacher(); et css() vous avez besoin d'objets jquery. vous ne pouvez pas les faire aux éléments dom.

pour que vous puissiez faire $('#video_lightbox').html(""); ou

$('#video_lightbox').empty(); 
+1

Je rappelle que vous pouvez également créer un objet jquery en passant un élément dom. ie $ (el) –

+0

bon point dan! – Patricia

4

jQuery est JavaScript afin OUI. Au lieu de .innerHTML="" il suffit d'utiliser .empty(). Au lieu de .getElementById(), utilisez $('#..') et ainsi de suite.

1

Vous devez fournir une erreur dans la console javascript.

1) Passez-vous un argument val à la fonction divlightbox()? Quand l'appelez-vous?

2) Pourquoi utilisez-vous le même identifiant divlightbox à la fois pour une fonction et pour un ID div? Changer le nom de la fonction s'il vous plaît, peut-être que le problème pourrait être ici.

3) Toujours vérifier si la video_lightbox et la divlightbox existent avant d'y accéder.

5

Alors que les autres réponses résoudre les problèmes spécifiques, je ne pense pas que la question de l'OP (en gras) est vraiment répondu ici, en fonction du contexte spécifique, $peut-être pas être défini comme un objet jQuery encore (moi-même ayant eu ce problème quelques fois.)

Dans ce cas, vous devez faire quelque chose comme:

function divlightbox(val) { 
    // ... 
    // just use jQuery instead of $ one time 
    jQuery("#video_lightbox").css({"height":"430px","top":"10%","width":"480px"}); 
} 

OU

function divlightbox(val) { 
    // define the $ as jQuery for multiple uses 
    jQuery(function($) { 
     // ... 
     $("#video_lightbox").css("height":"430px"); 
     $("#video_lightbox").css("top":"10%"); 
     $("#video_lightbox").css("width":"480px"); 
    }); 
} 
Questions connexes