Benutzerdefinierte Datenattribute mit mehreren Elementen

9

Ich versuche, eine benutzerdefinierte Datenattribute auf meiner Website in Lightbox zu erstellen. Ich habe es gerade für ein Element in Javascript gemacht und es funktioniert gut, aber ich möchte es in mehreren Elementen arbeiten lassen.

Wie es jetzt funktioniert: Ich habe ein "a" -Element mit id="image-1" und ich möchte, dass JavaScript id image-2,3,4 ... erkennt zeigen korrekte Daten von benutzerdefinierten Attributen an. Beachten Sie, dass ich onclick nicht verwenden kann, da dieser Leuchtkasten aufhört zu arbeiten.

Hier ist HTML:

%Vor%

Hier ist JS:

%Vor%

Ich versuche, es im Lightbox-Plugin ( Ссылка ) funktionieren zu lassen

AKTUALISIEREN

Ich habe gerade die Funktion in onclick benutzt und wenn ich es teste, zeigt es korrekte IDs an. Kann aber immer noch nicht in getElementByID als String einfügen.

%Vor%

UPDATE 2:

Fast fertig. Ich habe meine Variablen global gemacht. Das Konsolenprotokoll zeigt die korrekte ID und andere Datenattribute. Problem ist, wenn ich versuche, Ergebnis in HTML in Javascript zu setzen. Hier ist ein Beispiel.

%Vor%

+ aktuelles JS:

%Vor%

+ Bild der Konsolenantwort.

    
Radwojt 30.12.2015, 13:41
quelle

2 Antworten

0

Eine gute Lösung wäre, das ID-Attribut eines 'a' Elements zu erhalten, wenn man es anklickt, um es in ein var zu bekommen und es zu benutzen, um Datenattribute zu erhalten.

Angenommen, 'a' Elemente sind in einem div '#container', hier ist meine Lösung

%Vor%     
0x58 21.06.2016 10:53
quelle
0

nicht sicher, ob ich richtig verstehe. Aber wenn die ID der divs konsistent ist, also image-1, image-2, image-3, ... usw., können Sie mit expression selector die Anzahl der Elemente in diesem Array zum Hinzufügen / Anhängen durchlaufen Ihr dynamisches HTML innerhalb dieser divs, ohne ein click -Ereignis zu verwenden, um die ID zu erhalten. Ex -

%Vor%

weiter können Sie die Länge dieses Arrays durchschleifen und Ihren dynamischen HTML-Code basierend auf der ID des übergeordneten Elements hinzufügen: ("image-"+counter_variable])

lassen Sie mich wissen, ob das hilft.

    
Parikshit Bhagawati 10.04.2017 12:09
quelle