Ersetzen Sie “$” (Dollarzeichen) durch “JQuery”

Lesezeit: 2 Minuten

Das erste Snippet funktionierte nicht. Es fängt jedoch an zu arbeiten, wenn alle ersetzt werden $(Dollarzeichen) mit jQuery(Siehe 2. Ausschnitt). Aber ich verstehe nicht wirklich warum? Kann mir das jemand erklären? Vielen Dank!

1. Ausschnitt

jQuery.noConflict();
               $(document).ready(function(){    
                    $("#insideTable > tbody > tr:odd").addClass("odd");
                    $("#insideTable > tbody > tr:not(.odd)").hide();
                    $("#insideTable > tbody > tr:odd").show();
                    $("#insideTable > tbody > tr.odd").click(function(){
                        $(this).next().toggle();
                        $(this).find(".arrow").toggleClass("up");
                    });

                });

2. Ausschnitt

        jQuery.noConflict();
        jQuery(document).ready(function(){

                jQuery("#insideTable > tbody > tr:odd").addClass("odd");
                jQuery("#insideTable > tbody > tr:not(.odd)").hide();
                jQuery("#insideTable > tbody > tr:odd").show();
                jQuery("#insideTable > tbody > tr.odd").click(function(){
                    jQuery(this).next().toggle();
                    jQuery(this).find(".arrow").toggleClass("up");
                });

            });

Ersetzen Sie Dollarzeichen durch JQuery
Nicola Peluchetti

Das ist weil jQuery.noConflict() “befreit” das “$” von der Zuordnung zu jQuery. Normalerweise können Sie in Ihrem Code $ als Ersatz für “jQuery” verwenden. Wenn du benutzt noConflict() Sie können das nicht mehr tun und müssen daher jedes “$” durch “jQuery” ersetzen; .

Viele JavaScript-Bibliotheken verwenden $ als Funktions- oder Variablennamen, genau wie jQuery. Im Fall von jQuery ist $ nur ein Alias ​​für jQuery, sodass alle Funktionen ohne die Verwendung von $ verfügbar sind. Wenn wir neben jQuery eine andere JavaScript-Bibliothek verwenden müssen, können wir die Kontrolle über $ mit einem Aufruf von $.noConflict() an die andere Bibliothek zurückgeben:

Sie können auch einen völlig neuen Alias ​​erstellen, den Sie verwenden können

var myJqueryAlias = jQuery.noConflict();
myJqueryAlias(document).ready(function(){

        myJqueryAlias("#insideTable > tbody > tr:odd").addClass("odd");
        myJqueryAlias("#insideTable > tbody > tr:not(.odd)").hide();
        myJqueryAlias("#insideTable > tbody > tr:odd").show();
        myJqueryAlias("#insideTable > tbody > tr.odd").click(function(){
            myJqueryAlias(this).next().toggle();
            myJqueryAlias(this).find(".arrow").toggleClass("up");
        });

    });

  • Das funktioniert, ich möchte nur darauf hinweisen, dass das erste Argument an a übergeben wurde ready Callback ist das jQuery-Objekt, also können Sie es tun .ready(function($){ und dann verwenden $ innerhalb der Funktion, solange Sie das äußere $ nicht für Dinge verwenden müssen.

    – loganfsmyth

    8. Juni 12 um 20:20 Uhr

Durch Aufrufen von noConflict() wird die Zuordnung zwischen $ und der jQuery-Funktion entfernt. Auf diese Weise können Sie eine andere JavaScript-Bibliothek verwenden, die ebenfalls ohne Konflikte auf $ verkürzt wird.

.

759270cookie-checkErsetzen Sie “$” (Dollarzeichen) durch “JQuery”

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy