Spela Swemantle! Du vet att du vill.
Ibland har jag fel, men då är det någon annans fel.
Jag försöker skapa en lista av länkar men gör något fel.
Jag försöker först att skapa ett "ul"-element och därefter fylla på med en massa länkar. Någon som kan förklara för mig vad jag gör för fel?
$('#receptmeny .contentarea').add('ul').each(rubriker, function (index,value) {
$(this).add('<li><a href="#recept' + index +'">'+ value +'</a></li>' );
});
JQuery-metoden each
används för att loopa över JQuery-objektet, i det här fallet returvärdet av $('#receptmeny .contentarea').add('ul')
, dvs ett ul
-element. Typiskt tråkigt att loopa över en enda sak. Det ser ut som att du egentligen vill loopa över rubriker
.
let ul = $("blabla").add("ul");
for (let {index, value} of rubriker) {
ul.add('<li><a href="#recept' + index +'">'+ value +'</a></li>');
}
Eller något i den stilen beroende på vad rubriker
har för format.
EDIT: Antog att resten av din kod fungerade, vilket visade sig inte vara fallet. För det första är add
är en helt annan metod än append
som du vill använda. Därutöver har du missat vinkelparenteser där du försöker lägga till ul
-elementet.
let rubriker = [
"eh, 3 kanske?",
"nå annat",
"glass, minst",
"yes",
];
let ul = $(document.body).append("<ul>");
rubriker.forEach(function(value, index){
ul.append(`<li><a href="#recept${index}"">${value}</a></li>`);
});
Spela Swemantle! Du vet att du vill.
Ibland har jag fel, men då är det någon annans fel.
Copyright © 1999–2024 Geeks AB. Allt innehåll tillhör Geeks AB.
Citering är tillåten om källan anges.