2010-08-13 14 views
8

J'ai une application qui a ce format éparpillé mais je ne sais pas de quel genre il s'agit. Ce n'est pas jQuery, alors qu'est-ce que c'est?Quel genre de JavaScript est-ce?

$('some_edit').style.display = "block"; 
$('some_views').style.display = "none"; 

Je reçois cela dans Firebug et je sais que l'élément est présent:

$("some_edit").style is undefined 
+4

Je dirais qu'il y a de bonnes chances que ce soit prototypejs. Voilà comment vous obtenez des éléments par ID. http://jsfiddle.net/Ntwwz/ – user113716

Répondre

12

Beaucoup de gens ont défini le symbole '$' en remplacement de document.getElementById().

En gros:

function $(id) { return document.getElementById(id); } 
$("ElementID").innerHTML = "Text"; //Usage 

Un exemple plus approprié, "espace de noms":

var DOM = { // creating the namespace "DOM" 
    $: (function() { 
     if(document.getElementById) 
      return function(id){ return document.getElementById(id); } 
     else if(document.all) 
      return function(id) { return document.all[id]; } 
     else 
      return function(id) { /* I don't even want to get into document.layers */ } 
    })() 
}; 

// Later in the code: 
{ 
    function ExampleFunction() { 
     // ... 
     DOM.$("ElementID").style.backgroundColor = "#96d0a0"; // a nice minty green color 
     // ... 
    } 
} 

J'ai utilisé un modèle self-invocation (function(){ ... }()) dans cet exemple.

+0

C'est probablement la situation. –

+1

Idée soignée ... Je ne fais pas beaucoup de JavaScript, mais je pourrais utiliser ce petit raccourci la prochaine fois. +1 – iandisme

+1

lol. s'il vous plaît ne le faites pas. penser comme ça de tout le monde qui a jamais fait une version de js est ce qui cause des problèmes de compatibilité de cadre ces jours-ci. espace de noms! –

-4

Il est JQuery - utilise $ comme variable clé.

Ajouté:

pourrait également être Mootools. utilise également

$

Ajouté:

'some_edit' serait l'id d'un élément.

ps. Je suis d'accord que $ pourrait être n'importe quoi. Les chances sont bien que ce soit JQuery ou Mootools. "Quand vous entendez des battements de sabots, pensez aux chevaux, pas aux zèbres."

+1

Quel genre de sélecteur est '' some_edit''? –

+4

De nombreuses bibliothèques utilisent $ comme variable d'aide, ce n'est certainement pas spécifique à jQuery. –

+0

Pas nécessairement - Beaucoup de bibliothèques utilise $, mais je suis d'accord que JQuery est la bibliothèque probable (car il a l'adoption la plus répandue) – driis

16

Cela pourrait être beaucoup de choses - examiner le code source (ou utiliser Firebug) et voir quelles bibliothèques JS sont en cours de chargement.

+1

+1 - de loin la réponse la plus sensée –

+2

Si vous allez utiliser Firebug, vous pouvez également définir un point d'arrêt et y entrer simplement pour être sûr que la bibliothèque est en cours d'exécution. – nirvdrum

0

Il définit le style d'affichage pour les deux éléments de page - la propriété display spécifie le type de boîte qu'un élément doit générer.

bloc = L'élément génère une boîte de bloc (un saut de ligne avant et après l'élément) ne = L'élément génère pas de boîte à tous

4

au début, je pensais que le sélecteur de jquery aurait probablement été $("#some_edit") puis .css(). donc j'aurais dit, prototype ou mootools ou une brasserie maison $.

et prototype, car si le sélecteur renvoie un objet, la propriété de style sera disponible (en ignorant les meilleures pratiques dans les deux cadres sur les styles de réglage). Cela laisse, le site utilise homebrew $ assignment ou jquery, qui n'est pas utilisé correctement.

effectivement, $ ("foo"). Style.bla en jquery produira cette exception très (même si le sélecteur était bon) - ici est jsFiddle à la rescousse

cas, le point jquery (déclencheurs): http://www.jsfiddle.net/dimitar/vmsZn/

cas, le point prototype (travaux): http://www.jsfiddle.net/dimitar/vmsZn/1/

Mootools point de cas (travaux): http://www.jsfiddle.net/dimitar/vmsZn/2/

0

Mettez un [0] devant $ ('some_views') pour retourner l'élément DOM natif.

$ ('some_views') [0] .style.display = "aucun";

ou $ ('some_views'). Get (0) .style.display = "none";

ou $ ('some_views'). Css ('display', 'none') pour parcourir la collection d'éléments DOM.