Bin auch zu doof *grmpf* jQuery

Gesperrt
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Bin auch zu doof *grmpf* jQuery

Beitrag von shadowcat »

Jetzt arbeite ich schon so lange damit und krieg trotzdem was eigentlich ganz Einfaches nicht hin. :evil:

Gegeben sei eine JS-Variable nav mit folgendem TEXT-Inhalt:
<div class="gridder-navigation"><a href="#" class="gridder-close"><span class="fa fa-fw fa-close"></span></a><a href="#" class="gridder-nav prev"><span class="fa fa-fw fa-arrow-left"></span></a><a href="#" class="gridder-nav next"><span class="fa fa-fw fa-arrow-right"></span></a></div>
Wenn jetzt eine bestimmte Bedingung eintrifft, soll dem Link mit der Klasse 'next' die CSS-Klasse "disabled" hinzugefügt werden. Ich hab jetzt wirklich _alles_ versucht, ich krieg es nicht hin. :?

Eigentlich denkt man doch:

$(nav).find('a.next').addClass('disabled');

Ja, Pustekuchen...
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Bin auch zu doof *grmpf* jQuery

Beitrag von shadowcat »

My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Bin auch zu doof *grmpf* jQuery

Beitrag von shadowcat »

So, ich hab das jetzt von-hinten-durch-die-Brust-ins-Auge funktionierend, aber ob das so der Weisheit letzter Schluß ist... :?

Code: Alles auswählen

                    if(!nextItem.length) {
                        nav = nav.replace(
                            $(nav).find('a.next').parent().html(),
                            $(nav).find('a.next').addClass('disabled').parent().html()
                        );
                    }
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
creativecat
Beiträge: 1430
Registriert: Mi 6. Feb 2013, 12:41
Kontaktdaten:

Re: Bin auch zu doof *grmpf* jQuery

Beitrag von creativecat »

Jetzt hab ich erst wieder dein Problem gefunden, weil ich gerade wieder dachte, ich bin zu doof, weil ich keine lauffähige Version (auch nicht mit der Portable) von v2 hinbekomme... jetzt fehlen wieder jede Menge Dateien in /vendor/ etc... ach egal...
Zu deinem Problem: https://jsfiddle.net/gptxxyw6/7/

Ist es das was du meinst?
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Bin auch zu doof *grmpf* jQuery

Beitrag von shadowcat »

Die Dateien im vendor kriegt man mit Composer
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
creativecat
Beiträge: 1430
Registriert: Mi 6. Feb 2013, 12:41
Kontaktdaten:

Re: Bin auch zu doof *grmpf* jQuery

Beitrag von creativecat »

Ja, ich hab gerade kaum Zeit mich da mal endlich reinzufuchsen... wird noch! Am Wochenende vielleicht :-)
Aber hat dir mein Link geholfen, auch wenn dein Problem vermutlich nicht mehr aktuell sein dürfte?
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Bin auch zu doof *grmpf* jQuery

Beitrag von shadowcat »

Guck mal im internen Bereich.
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Bin auch zu doof *grmpf* jQuery

Beitrag von shadowcat »

creativecat hat geschrieben:
Mo 16. Jan 2017, 15:27
Ist es das was du meinst?
Wenn ich jetzt die Stelle wiederfinden würde, würde ich es glatt mal probieren... :shock: :? :oops:
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Bin auch zu doof *grmpf* jQuery

Beitrag von shadowcat »

So, gefunden. Leider funzt das auch nicht. Egal, bleibt es halt bei dem Workaround. Der erste Abschnitt ist nicht von mir, nur der Teil mit dem Deaktivieren der Links. Es liegt wohl daran daß nav ein String ist und kein Objekt.

Code: Alles auswählen

                    /* ADD NAV TEMPLATE */
                    nav = settings.showNavTemplate
                        .replace(/{{closeText}}/gi,settings.closeText)
                        .replace(/{{prevText}}/gi,settings.prevText)
                        .replace(/{{nextText}}/gi,settings.nextText)
                        ;

                    if(!nextItem.length) {
                        nav = nav.replace(
                            $(nav).find('a.next').parent().html(),
                            $(nav).find('a.next').addClass('disabled').parent().html()
                        );
                    }
                    if(!prevItem.length) {
                        nav = nav.replace(
                            $(nav).find('a.prev').parent().html(),
                            $(nav).find('a.prev').addClass('disabled').parent().html()
                        );
                    }
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
creativecat
Beiträge: 1430
Registriert: Mi 6. Feb 2013, 12:41
Kontaktdaten:

Re: Bin auch zu doof *grmpf* jQuery

Beitrag von creativecat »

Dann brauchst du die parseHTML(): https://jsfiddle.net/gptxxyw6/9/

Code: Alles auswählen

nav = $.parseHTML( settings.showNavTemplate
    .replace(/{{closeText}}/gi,settings.closeText)
    .replace(/{{prevText}}/gi,settings.prevText)
    .replace(/{{nextText}}/gi,settings.nextText)
    );
Dann kannst du das Objekt über

Code: Alles auswählen

$(nav).children('a.next').toggleClass('disabled');
ansprechen.
Gesperrt