2010-08-13 10 views
8

Ich habe eine Anwendung, die dieses Format verstreut hat, aber ich weiß nicht, welche Art es ist. Es ist nicht jQuery, also was ist es?Welche Art von JavaScript ist das?

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

ich dies in Firebug und ich weiß, das Element vorhanden ist:

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

Ich würde sagen, es ist eine gute Chance, dass es prototypejs ist. So erhalten Sie Elemente nach ID. http://jsfiddle.net/Ntwwz/ – user113716

Antwort

12

Viele Leute haben das '$' Symbol als Ersatz für document.getElementById() definiert.

Grundsätzlich:

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

Ein richtiges "Namensraum" Beispiel:

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 
     // ... 
    } 
} 

I ein self-invocation Muster verwendet habe (function(){ ... }()) in diesem Beispiel.

+0

Dies ist wahrscheinlich die Situation. –

+1

Nette Idee ... Ich mache nicht viel JavaScript, aber vielleicht benutze ich diese kleine Abkürzung das nächste Mal. +1 – iandisme

+1

lol. bitte nicht. So etwas von jedem zu denken, der jemals eine js-Version veröffentlicht hat, verursacht heutzutage Probleme mit der Framework-Kompatibilität. Namensraum! –

-4

Es ist JQuery - verwendet als Schlüsselvariable $.

Hinzugefügt:

Könnte auch mootools sein. Auch verwendet

$

Hinzugefügt:

'some_edit' würde die ID eines Elements sein.

ps. Ich stimme zu, $ könnte alles sein. Wahrscheinlichkeiten sind jedoch, dass es JQuery oder Mootools ist. "Wenn Sie Hufschläge hören, denken Sie an Pferde, nicht an Zebras."

+1

Welche Art von Selektor ist '' some_edit''? –

+4

Viele Bibliotheken verwenden $ als Hilfsvariable, es ist sicherlich nicht jQuery-spezifisch. –

+0

Nicht unbedingt - Viele Bibliotheken verwenden $, aber ich stimme zu, dass JQuery die wahrscheinlichste Bibliothek ist (da sie am weitesten verbreitet ist) – driis

16

Es könnte viele Dinge sein - untersuchen Sie den Quellcode (oder verwenden Sie Firebug) und sehen Sie, welche JS-Bibliotheken geladen werden.

+1

+1 - bei weitem die vernünftigste Antwort –

+2

Wenn Sie Firebug verwenden, können Sie auch einen Haltepunkt setzen und hineintreten, um doppelt sicher zu sein, welche Bibliothek gerade ausgeführt wird. – nirvdrum

0

Es wird der Anzeigestil für die zwei Seitenelemente festgelegt - die Eigenschaft display gibt den Typ der Box an, die ein Element generieren soll.

Block = Das Element wird eine Block-Box (einen Zeilenumbruch vor und nach dem Element) erzeugen none = Das Element bei allen

4

zunächst keine Box generieren werde ich die jQuery-Selektor dachte wahrscheinlich $("#some_edit") gewesen wäre und dann .css(). also hätte ich gesagt, prototype oder mootools oder ein hausgebräu $.

können Sie sicherlich sowohl mootools als auch prototype diskontieren, denn wenn der Selektor ein Objekt zurückgibt, dann ist die style -Eigenschaft verfügbar (die Best Practices in beiden Frameworks beim Festlegen von Stilen ignorieren).

dies verlässt, verwendet die Website Homebrew $ Zuweisung oder Jquery, die nicht korrekt verwendet wird.

eigentlich, $ ("foo"). Stil.blah in jquery wird diese sehr Ausnahme erzeugen (selbst wenn der Wähler war gut) - hier ist jsfiddle zur Rettung

Fall Punkt jquery (Trigger): http://www.jsfiddle.net/dimitar/vmsZn/

Fall Punkt Prototyp (Werke): http://www.jsfiddle.net/dimitar/vmsZn/1/

Fall Punkt Mootools (Werke): http://www.jsfiddle.net/dimitar/vmsZn/2/

0

Setzen Sie ein [0] vor $ ('some_views') native DOM Element zurückzukehren.

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

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

oder $ ('some_views'). Css ('display', 'none'), um durch die Sammlung von DOM-Elementen zu iterieren.