Array in Data-Attribut
heinetz
- html
- javascript
Hallo Forum,
ich möchte ein Array aus Strings in einem Data-Attribut speichern und das Array dann in JavaScript auslesen. Das vom Server ausgelieferte Markup sieht das im Moment wie folgt aus:
<div data-js-alt-disabled-services="["analytics","fbi"]">
Wenn ich das per console.log() ausgebe, sieht es auch ganz gut aus:
["analytics","fbi"]
Für Javascript ist das aber irgendwie noch ein String. D.h. wenn ich das vermeintliche Array in einer Schleife durchlaufe, wird Buchstabe für Buchstabe ausgegeben:
0: "[" 1: """ 2: "a" ...
Was kann ich tun?
danke und beste Grüße, heinetz
Hallo,
du könntest erst mal das html vereinfachen:
<div data-js-alt-disabled-services="analytics;fbi">
und dann daraus mit split den String an den „;“ auftrennen und in ein Array umwandeln.
Gruß
Jürgen
Einbau:
Auslesen:
(Fertig)
@@ursus contionabundo
- Wandle den Array in gültiges JSON um
Ist doch schon gültiges JSON.
LLAP 🖖
@@heinetz
Das vom Server ausgelieferte Markup sieht das im Moment wie folgt aus:
<div data-js-alt-disabled-services="["analytics","fbi"]">
Wenn du außen einfache Anführungszeichen setzt, musst du die inneren doppelten nicht escapen:
<div data-js-alt-disabled-services='["analytics","fbi"]'>
["analytics","fbi"]
Für Javascript ist das aber irgendwie noch ein String.
Ein JSON-String vielleicht?
Was kann ich tun?
LLAP 🖖