Rohes Javascript anstelle von jquery (Beispiel folgt)

7

Das ist meine erste Frage hier. Ich habe den folgenden jquery Code:

%Vor%

das funktioniert gut. Es trifft durch die Eltern li eines angeklickten Ankers (es gibt viele Anker und Listen im HTML, nicht nur einen). Aber ich will nur diese Funktionalität, sonst nichts. Ist das nicht ein Overkill, um die ganze jquery-Bibliothek einzuschließen?

Leider kenne ich rohe Javascript nicht sehr gut, kann jemand das für mich konvertieren? Ich wäre dankbar.

EDIT: Wow, ich bin erstaunt über die Geschwindigkeit und die Qualität der Antworten! Also zunächst einmal ein großes DANKE an euch alle! Ich werde entweder Jonathon's (edit2: rolands) Lösung nehmen oder einfach jQuery mit einbeziehen. Nochmals vielen Dank!

    
fractalbit 09.02.2010, 21:01
quelle

6 Antworten

5

Im Folgenden wird dies browserunabhängig erreicht.

%Vor%     
Roland Bouman 09.02.2010, 21:07
quelle
9
  

Ist das nicht ein Overkill, um die   ganze jquery Bibliothek?

Sie sagen es mir. Sie könnten die von Google gehostete Bibliothek bedienen, die möglicherweise bereits auf der Client-Seite zwischengespeichert ist.

Meiner Meinung nach ist Konsistenz der Schlüssel. Wenn Sie an jQuery gewöhnt sind, warum verwenden Sie es nicht weiter? Ihr Code wird einfacher zu pflegen sein.

Vielleicht finden Sie eine meiner früheren Fragen interessant: Wann ist es akzeptabel? Verwenden Sie jQuery?

    
Josh Stodola 09.02.2010 21:06
quelle
2

Non-jQuery-Ansatz:

%Vor%

Sie benötigen nicht einmal einen Onload-Handler für das Laden der Seite, wenn Sie ihn ganz unten in Ihrem Dokument hinzufügen.

    
Alex 09.02.2010 21:48
quelle
1

Wenn Sie es durch rohen Javascript tun, müssen Sie jedem Anker ein onclick-Ereignis und jedem li

eine ID hinzufügen %Vor%

Das ist Ihre HTML-Änderung

%Vor%

das ist Ihre JavaScript-Funktion

Ich würde empfehlen, dass Sie nur JQuery hinzufügen, damit Sie nicht eine Menge von IDs hinzufügen müssen

    
RHicke 09.02.2010 21:06
quelle
1

Wenn Sie nie mehr mit Ihrer Website machen, ist es vielleicht zu viel. Das Äquivalent dessen, was dieser kurze Klappentext browserübergreifend macht, ist ein Kopfzerbrechen. Das ist der Nutzen von jQuery: Einmal etwas schreiben und es funktioniert normalerweise ohne großen Aufwand. Wenn Sie der Meinung sind, dass die zusätzliche Bandbreite von 20 KB für Besucher Ihrer Seite eine unzumutbare Belastung darstellt, dann lesen Sie sich die Event-Handler, DOM und CSS-Manipulation durch.

Sie sagen, dass Sie JS nicht gut kennen ... haben Sie diese jQuery-Verwendung von jemand anderem geerbt oder haben Sie es von einem Beispiel irgendwo kopiert?

    
Jonathon Faust 09.02.2010 21:07
quelle
1

Die Umwandlung einer scheinbar einfachen Funktion von jQuery-Code in einen rohen Javascript-Code wird Sie manchmal mit einem Cross-Browser-Bug, einer Bloat-Funktion und Möglichkeiten, die Ihre Bedürfnisse in Zukunft wachsen lassen, auffangen.

Die Verwendung von jQuery für solche Funktionen ist nicht übertrieben, vertraue mir. Sie werden jetzt nie was sonst von jQuery ordentliches Feature haben, das Sie in Zukunft brauchen könnten. jQuery ist klein genug in minimierter Form, würde keine Unterschiede für eine Seite laden.

    
Donny Kurnia 09.02.2010 21:09
quelle

Tags und Links