View Single Post
Om det å vente 3 sekunder før du kaller funksjonen ikke funker, det funker om du skriver inn navnet manuelt - men å generere navnet programatisk ikke funker så er min gjeldende hypotese at det er noe feil med det genererte navnet. En misstanke er usynlig unicode-tegn som lurer seg med fra systemet du henter ned dataene fra.

Kunne du testet følgende kode og gitt meg output?

Kode

function convertStringToHex(str) {
    const arr = [];
    for (let i = 0; i < str.length; i++) {
        arr[i] = ("00" + str.charCodeAt(i).toString(16)).slice(-4);
    }
    return "\\u" + arr.join("\\u");
}

async function drawcomputers() {
    const computers = await loadcomputers();

    for (let comput of computers) {
        console.log("Updating", comput.Company);
        const generatedName = "divcomputers" + comput.Company;
        const hardcodedName = "divcomputersJHS";
        const divFromGeneratedName = document.getElementById(generatedName);
        const divFromHardcodedName = document.getElementById(hardcodedName);
        console.log("generated name as hex:", convertStringToHex(generatedName));
        console.log("hardcoded name as hex:", convertStringToHex(hardcodedName));
        console.log("hardcoded and generated is the same?", generatedName === hardcodedName);
        console.log("div from generated name", divFromGeneratedName);
        console.log("div from hardcoded name", divFromHardcodedName);
        divFromGeneratedName.innerHTML = comput.Company; // Denne skriver ut riktig navn på diven ;
    }
}
Sist endret av etse; 18. mai 2021 kl. 21:02.