Seite 1 von 1
Bin auch zu doof *grmpf* jQuery
Verfasst: Di 27. Dez 2016, 17:36
von shadowcat
Jetzt arbeite ich schon so lange damit und krieg trotzdem was eigentlich ganz Einfaches nicht hin.
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...
Re: Bin auch zu doof *grmpf* jQuery
Verfasst: Di 27. Dez 2016, 17:49
von shadowcat
Re: Bin auch zu doof *grmpf* jQuery
Verfasst: Di 27. Dez 2016, 18:47
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()
);
}
Re: Bin auch zu doof *grmpf* jQuery
Verfasst: Mo 16. Jan 2017, 15:27
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?
Re: Bin auch zu doof *grmpf* jQuery
Verfasst: Mo 16. Jan 2017, 18:53
von shadowcat
Die Dateien im vendor kriegt man mit Composer
Re: Bin auch zu doof *grmpf* jQuery
Verfasst: Mo 16. Jan 2017, 22:00
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?
Re: Bin auch zu doof *grmpf* jQuery
Verfasst: Di 17. Jan 2017, 16:00
von shadowcat
Guck mal im internen Bereich.
Re: Bin auch zu doof *grmpf* jQuery
Verfasst: Di 17. Jan 2017, 16:04
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...

:?

Re: Bin auch zu doof *grmpf* jQuery
Verfasst: Di 17. Jan 2017, 16:11
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()
);
}
Re: Bin auch zu doof *grmpf* jQuery
Verfasst: Di 17. Jan 2017, 16:40
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
ansprechen.