Bücher online kostenlos Kostenlos Online Lesen
JQuery Kochbuch (German Edition)

JQuery Kochbuch (German Edition)

Titel: JQuery Kochbuch (German Edition) Kostenlos Bücher Online Lesen
Autoren: jQuery Community Experts
Vom Netzwerk:
Rückgabe-Array besteht dann aus den veränderten Array-Elementen.

Zwei Arrays durch jQuery.merge kombinieren
    Problem
    Sie haben zwei Arrays, die Sie kombinieren oder konkatenieren müssen.
    Lösung
(function($) {
    $(document).ready(function() {
     var horseBreeds = ['Quarter Horse', 'Englisches Vollblut', 'Araber'];
     var draftBreeds = ['Brabanter', 'Percheron'];

     var breeds = $.merge( horseBreeds, draftBreeds );
     $('#horses').html( '
  • ' + breeds.join('
  • ') + '
  • ' );
        });
    })(jQuery);
        Diskussion
        In diese Beispiel haben wir zwei Arrays mit Pferderassen. Diese werden nun kombiniert, so dass der Inhalt des zweiten Arrays auf den des ersten folgt. Das Ergebnis-Array sieht also so aus:
    ['Quarter Horse', 'Englisches Vollblut', 'Araber', 'Brabanter', 'Percheron']

    Doppelte Array-Einträge mit jQuery.unique ausfiltern
        Problem
        Sie haben zwei jQuery-DOM-Collections, aus denen die doppelten Einträge entfernt werden sollen:
    (function($) {
        $(document).ready(function() {
         var animals = $('li.animals').get();
         var horses = $('li.horses').get();
         $('#animals')
         .append( $(animals).clone() )
         .append( $(horses).clone() );
        });
    })(jQuery);
        Lösung
    (function($) {
        $(document).ready(function() {
         var animals = $('li.animals').get();
         var horses = $('li.horses').get();
         var tmp = $.merge( animals, horses );
         tmp = $.unique( tmp );
         $('#animals').append( $(tmp).clone() );
        });
    })(jQuery);
        Diskussion
        Die jQuery-Funktion
    $.unique()
    entferntdoppelte DOM-Elemente aus einem Array oder einer Collection. Im Rezept haben wir die Arrays
    animals
    und
    horses
    per
    $.merge()
    kombiniert. jQuery nutzt
    $.unique()
    in vielen Core- und internen Funktionen, wie zum Beispiel
    .find()
    und
    .add()
    . Daher wird man selbst diese Methode vor allem dann nutzen, wenn man mit Arrays arbeitet, deren Elemente nicht per jQuery erzeugt wurden.

    Callback-Funktionen mit jQuery.isFunction testen
        Problem
        Sie haben ein Plugin geschrieben und müssen prüfen, ob es sich bei einer der Einstellungen um eine gültige Callback-Funktion handelt.
        Lösung
    (function($) {
        $.fn.myPlugin = function(settings) {
         return this.each(function() {
         settings = $.extend({ onShow: null }, settings);
         $(this).show();
         if ( $.isFunction( settings.onShow ) ) {
         settings.onShow.call(this);
         }
         });
        };
        $(document).ready(function() {
         $('div').myPlugin({
         onShow: function() {
         alert('Mein Callback!');
         }
         });
        });
    })(jQuery);
        Diskussion
        In JavaScript ist zwar der Operator
    typeof
    verfügbar,aber bei einer Browser-übergreifenden Programmierung müssen inkonsistente Ergebnisse und Grenzfälle berücksichtigt werden. jQuery stellt die Methode
    .isFunction()
    bereit,um die Arbeit des Entwicklers zu vereinfachen. Seit Version 1.3 funktioniert diese Methode für Benutzer-definierte Funktionen, während sie bei »eingebauten« Funktionen wie
    jQuery.isFunction( document.getElementById );
        auch inkonsistent reagieren kann – im Internet Explorer wird hier ein false zurückgegeben.

    Whitespace aus Strings oder Form-Werten mit jQuery.trim entfernen
        Problem
        Sie haben eine Form und müssen den Whitespace entfernen, den der Anwender am Anfang oder Ende des Strings eingegeben hat.
        Lösung



    (function($) {
        $(document).ready(function() {
         $('input.cleanup').blur(function() {
         var value = $.trim( $(this).val() );
         $(this).val( value );
         });
        });
    })(jQuery);
        Diskussion
        Nachdem der Anwender ein Feld verlassen hat, wird der eingegebene Wert –
    $(this).val()
    – ausgelesen und an die Methode
    $.trim()
    weitergegeben,die alle Whitespace-Zeichen (Leerzeichen, Tab und Zeilenumbruch) am Anfang und Ende des Strings entfernt. Der so beschnittene String wird dann wieder als Wert in das Input-Feld eingefügt.

    Objekte und Daten per jQuery.data an DOM-Elemente anhängen
        Problem
        Schauen Sie sich folgenden DOM-Code an:
    var node = document.getElementById('myId');
    node.onclick = function() {
        // Click-Handler
    };
    node.myObject = {
        label: document.getElementById('myLabel')
    };
        Hier haben Sie einem DOM-Objekt zur einfacheren Referenzierung Metadaten hinzugefügt. Aufgrund von fehlerhaften Garbage Collections in einigen Web-Browsern kann dieser Code zu Speicherlecks führen.
        Lösung
        Fügt man einem DOM-Knoten zur Laufzeit Eigenschaften hinzu (genannt Expandos ), führt das aufgrund von fehlerhaften Implementierungen der Garbage Collection in manchen Web-Browsern zu

    Weitere Kostenlose Bücher