JQuery lägga till länkar till en lista?

Trädvy Permalänk
Medlem
Plats
Gävle
Registrerad
Sep 2005

JQuery lägga till länkar till en lista?

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>' ); });

Trädvy Permalänk
Medlem
Plats
SweClockers forum
Registrerad
Aug 2012

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>`); });

jsfiddle

Guide: Roota din HTC - BB-Kod-knappar på Prisjakt

              Min burk - Kvävekyld till 80%
8700K@stock
1070 Ti@stock

Ibland har jag fel, men då är det någon annans fel.