Dodajanje/odstranjevanje elementov iz predmeta JavaScript s programom jQuery
Imam naslednji predmet JavaScript:
var data = {items: [
{id: "1", name: "Snatch", type: "crime"},
{id: "2", name: "Witches of Eastwick", type: "comedy"},
{id: "3", name: "X-Men", type: "action"},
{id: "4", name: "Ordinary People", type: "drama"},
{id: "5", name: "Billy Elliot", type: "drama"},
{id: "6", name: "Toy Story", type: "children"}
]};
Če bi želel na ta seznam dodati/odstraniti elemente, kako bi to storil z uporabo jQueryja? Stranka želi, da se ta seznam dinamično spreminja.
82
3
Prvič, vaša citirana koda ni ne JSON. Vaša koda je objektni dobesedni zapis v jeziku JavaScript. [JSON][1] je podmnožica tega zapisa, namenjena lažjemu razčlenjevanju.
Vaša koda opredeljuje objekt (
data
), ki vsebuje polje (items
) objektov (vsak zid
,name
intype
).Za to ne potrebujete ali želite jQueryja, ampak samo JavaScript.
Dodajanje elementa:
To se doda na konec. Za dodajanje na sredino glej spodaj.
Odstranjevanje elementa:
Obstaja več načinov. Metoda [
splice
][2] je najbolj vsestranska:splice
spremeni prvotno polje in vrne polje odstranjenih elementov.Pridajanje na sredini:
splice
dejansko opravi tako dodajanje kot odstranjevanje. Podpis metodesplice
je:index
- indeks, pri katerem se začnejo spremembeštevilo_za_odstranitev
- začenši s tem indeksom, odstrani tolikšno število vnosovaddN
- ...in nato vstavi te elementeTako lahko dodam element na 3. mesto na naslednji način:
To pomeni: Začni z indeksom 2, odstrani nič elementov in nato vstavi naslednji element. Rezultat je videti takole:
To sploh ni JSON, ampak samo objekti Javascript. JSON je besedilna predstavitev podatkov, ki uporablja podmnožico sintakse Javascript.
Razlog, da ne najdete nobenih informacij o ravnanju z JSON z uporabo programa jQuery, je v tem, da program jQuery nima ničesar, kar bi to omogočalo, in da se to na splošno sploh ne počne. S podatki manipulirate v obliki objektov Javascript in jih nato spremenite v niz JSON, če to potrebujete. (Vendar ima jQuery metode za pretvorbo.)
Kar imate, je preprosto objekt, ki vsebuje polje, zato lahko uporabite vse znanje, ki ga že imate. Za dostop do polja uporabite
data.items
.Če želite na primer dodati še en element v polje z uporabo dinamičnih vrednosti:
To je le objekt javascript, zato lahko z datotekami
data.items
upravljate enako kot z običajnim poljem. Če to storite:bo vaše polje
items
krajše za 1 element.