Ich habe den folgenden Code, der durch das DOM auf der Suche nach Elementen, die eine ID haben mit "sale-", mit einem Attribut "Data-ID", die Erfassung des Werts, dann die Öffnung Strippen und eckigen Klammern schließen - alles in ein JSON-Objekt drückt:Erstellen von JSON - Teil Schleife, Teil einfache Zeichenfolge
els = $("div[id^='sale-']");
Array.prototype.forEach.call(els, function(el) {
var id = el.attributes[2].value.replace(/\[|\]/gi, "");
var jsonObject = {"id" :+id};
var myJSON = JSON.stringify(jsonObject);
console.log(myJSON+",")
});
Dies funktioniert und der Ausgang ist:
Nun ist das Problem kommt, wenn ich einige anwenden möchten Statischer JSON-Code vor und nach der Schleife.
würde ich so etwas wie die unten mögen:
// static
dataLayer.push({
'ecommerce': {
'impressions': [
// loop portion
{"id":50450},
{"id":49877},
{"id":49848},
{"id":49912},
{"id":49860},
{"id":49825},
{"id":48291},
{"id":49667},
// static
]
}
});