webForumDet fria alternativet

Passa innehållet från en div till variabel

JavaScript

2 svar · 1 055 visningar · startad av FIgg3

Medlem sedan sep. 2001354 inlägg
Frågan#1

Hej,

Jag försöker lära mig Javascript och därför börjar jag med att redigera ett befintligt script. Jag hittade en mp3 spelare med en playlist och tänkte det kunde vara ett kul sätt att lära sig på :)
Så tänkte att jag skulle kombinera PHP med Javascript för att få playlisten dynamisk.

Jag har en DIV (döpt den till box) som hämtar låtarna från en databas med hjälp av php.

Så långt är det inga problem...

Men nu vill jag hämta informationen från DIV till min playlist och det är här det går åt skogen.

Så här ser variabeln ut när den inte är dynamisk:
var playlist = [{url : "mp3/1.mp3",title : "1.mp3"},{url : "mp3/2.mp3",title : "2.mp3"},]

Jag försöker göra så här:
var playlist = document.getElementById("box").textContent;

Men det ger inget resultat. Jag har testat med innerHTML och innerText men inte det heller hjälper.

för att försöka felsöka lite så gjorde jag så här:
var test = document.getElementById("box").textContent;
document.write(test);

vilket resulterar i
[{url : "mp3/1.mp3",title : "1.mp3"},{url : "mp3/2.mp3",title : "2.mp3"},]

Detta säger mig att informationen är rätt i DIVen men jag gör något fel när jag försöker passa den till variabeln playlist.

Jag är en rookie när det kommer till Javascript så det är säkert något busenkelt jag missar.
Jag har försökt googla fram svaret men jag hittar inget som hjälpt.

Tacksam för all hjälp jag kan få!

Mvh FIgg3

Medlem sedan juni 20019 519 inlägg
#2

textContent bli ju en sträng... jag gissar att du vill ha det till ett JSON objekt?

Då får du först fixa så att det är ett JSON objekt (du kan inte avsluta med , och inte lägga in något objekt i arrayn)

sen kan du använda dig av JSON:

var b = JSON.parse('[{"url" : "mp3/1.mp3", "title" : "1.mp3"},{ "url": "mp3/2.mp3","title" : "2.mp3"}]');

console.log(b) // [{"url":"mp3/1.mp3","title":"1.mp3"},{"url":"mp3/2.mp3","title":"2.mp3"}]
Medlem sedan sep. 2001354 inlägg
#3

Tackar! Det gjorde susen!

259 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)