| Tack för utförlig beskrivning. Kommentarerna har jag lagt till endast för min egen del. Eftersom jag är nybörjare underlättar det för mig att veta vad jag gör. Jag har fått denna kod att funka sedan jag skickade in min förfrågan, men jag ska absolut lusläsa även dittt förslag och se om jag kan hitta en bättre lösning. Det problem jag brottas med för närvarande är följande: Jag har 12 olika texter som var och en ligger i en div med id (d1,d2 osv.) Jag har 12 olika svar som ska presenteras under respektive text. De ligger i var sin variabel svar1, svar 2 osv. Jag har efter mycket möda och god hjälp på nätet fått ihop en kod som placerar svar1 på rätt plats, se nedan. Men hur gör jag lämpligast för att få alla övriga svar på respektive platser?
[code] var svar1="Denna dikt har " + dikt1Stycke + " stycken och " + dikt1Rad + " rader."; // själva informationen om dikten // skapar p-node med texten visa information som är dold från början var visaInfo = document.createTextNode(svar1); // skapar textnod med svarstext var visaP= document.createElement('p'); // skapar p-element att lägga textnoden i visaP.appendChild(visaInfo); // lägger textnoden i p-elementet var visaInfoText = document.getElementById('d1').appendChild(visaP); // placerar in p-elementet i diktens div-tagg visaInfoText.style.visibility="hidden"; // ser till att InfoTexten från början är dold // skapar länken som vid klick ska ta fram visaInfoText var anchor = document.createElement("a"); // skapar länkelementet för taggen och lägger den i tagAnchor var anchorText1 = "Visa diktinformation"; // sätter texten på länken anchor.appendChild(document.createTextNode(anchorText1)); // placerar in länktexten i länken anchor.onclick = function(event) { // sätter händelsen som utförs när användaren trycker på länken // vid tryck på länken görs visaInfoText synlig if (visaInfoText.style.visibility=="hidden"){ visaInfoText.style.visibility="visible"; this.replaceChild(document.createTextNode("Dölj diktinformation"),this.firstChild );// här ändras texten på länken ändras till "Dölj diktinformation" } else { //om visaInfoText är synlig visaInfoText.style.visibility="hidden"; this.replaceChild(document.createTextNode("Visa diktinformation"),this.firstChild ); // här ändras texten på länken ändras till "Visa diktinformation" } event.preventDefault(); // hindra användaren från att använda länken för att lämna sidan } var place = document.getElementById('d1'); // placerar in länken där den ska vara place.insertBefore(anchor, visaInfoText);[/code] Jag tänker mig att man kan placera denna kod i en funktion med en eller troligen flera for-loop eftersom både svaren och div-id ska räknas upp. Men hittills har alla mina försökt misslyckats. Tacksam för förslag till lösning. Trevlig midsommar!
|