Avatar billede themepark Nybegynder
01. oktober 2003 - 04:45 Der er 19 kommentarer og
1 løsning

Hvordan får man index for et bestemt element?

Jeg opretter en masse elementer, hvor deres onClick er angivet til en funktion f.eks. Funktion(this).

Når jeg så således har overført elementet til min funktion, hvordan kan jeg så med JavaScript få indeks nummeret på det pågældende element? Der må vel være noget i stil med f.eks. .name og den slags?
Avatar billede jakobclausen Nybegynder
01. oktober 2003 - 04:54 #1
Du kan sætte en id på elementet: id="navn"

Og så kan du ved hjælp af: document.getElementById("navn").value få fat i den værdi det pågældende element har.
Avatar billede themepark Nybegynder
01. oktober 2003 - 04:56 #2
Jamen, det er slet slet ikke det jeg vil...jeg vil have fat i indekset på elementet...f.eks. hvis onClick udføres for det første element, er indekset jo 0, da det er det første element, og det er denne værdi, jeg skal have
Avatar billede jakobclausen Nybegynder
01. oktober 2003 - 04:59 #3
Hmm så TROR jeg måske bare du skal skrive index istedet for value
Avatar billede themepark Nybegynder
01. oktober 2003 - 05:06 #4
Ork havde det været så let, havde jeg slet ikke oprettet dette spørgsmål :) Jeg HAR naturligvis prøvet det, men så får jeg undefined :(
Avatar billede roenving Novice
01. oktober 2003 - 05:33 #5
Sådan ?-)
function Funktion(elm){
alert(elm.id)
}
Avatar billede themepark Nybegynder
01. oktober 2003 - 05:35 #6
id??? Hmmm...kan da lige prøve det...

roenving, har du for øvrigt aldrig hørt om noget kaldet søvn? ;)
Avatar billede themepark Nybegynder
01. oktober 2003 - 05:38 #7
Nårh...nej nej roenving det er indexet jeg skal bruge :) For eksempel, hvis jeg klikker i det første ud af 25 elementer, får jeg indeks 0, hvis jeg klikker i det tiende elementer, får jeg 9, og så fremdeles :)

Eller sagt på en anden måde, det index man bruger i en sætning som f.eks. denne

document.forms[0].elements[Indextallether].value
Avatar billede roenving Novice
01. oktober 2003 - 05:38 #8
Jo, men det afvikler jeg om natten !-)
Avatar billede themepark Nybegynder
01. oktober 2003 - 05:43 #9
Du mener du sover om dagen? ;)
Avatar billede roenving Novice
01. oktober 2003 - 05:44 #10
Det kan man finde i en form:
for(i=0;form.elements.length>i;i++){
  if(form.elements[i] == elm)return i;
}

-- og det kan også findes i et rent Internet Explorer-miljø:
elm.sourceIndex
Avatar billede themepark Nybegynder
01. oktober 2003 - 05:47 #11
Øhm...den for er da en mulighed, men noget, jeg helst vil undgå :(

Og sourceIndex giver 10 når jeg klikker i det første element?
Avatar billede roenving Novice
01. oktober 2003 - 05:53 #12
Det er fordi det er _alle_ dokumentets elementer, som tælles ...

Den hører nemlig sammen med document.all:

k = elm.sourceIndex;
...

newElm = document.all[(k+1)]
Avatar billede themepark Nybegynder
01. oktober 2003 - 05:57 #13
Jamen...jamen...jeg skal jo kun bruge et index for det element (INPUT felter i det her tilfælde), der klikkes på...ikke for alle tagsene :(
Avatar billede roenving Novice
01. oktober 2003 - 05:59 #14
For-tingen er ikke noget som tager alvorlig tid, så du kan jo bare bruge den !-)

-- jeg kender ikke andre metoder, desværre ...
Avatar billede themepark Nybegynder
01. oktober 2003 - 06:04 #15
Det KAN da ikke passe, at der ikke findes en attribut med navnet index i JavaScript :(
Avatar billede themepark Nybegynder
01. oktober 2003 - 06:04 #16
Det har for øvrigt intet med tid at gøre...det bekymrer jeg mig ikke om...det er bare ikke så pæn en måde :(
Avatar billede roenving Novice
01. oktober 2003 - 06:09 #17
-- og jo !-}

-- der findes ikke en index-property i javascript, som giver dig adgang til et form-element ...
Avatar billede themepark Nybegynder
07. oktober 2003 - 03:09 #18
roenving, tja, du har jo sagt, at der ikke findes en index property, så hvis du gider smide et svar, er der point :)

Det skal for øvrigt siges, at jeg kom i tanke om at jeg generede et NAME for hvert INPUT felt afhængigt af dets indeks (ved at tælle op), når de bliver loadet, og så kunne jeg jo også regne tilbage, ud fra navnet, hvad indekset er på det pågældende INPUT felt :)
Avatar billede roenving Novice
08. oktober 2003 - 03:24 #19
Jamen, så da velbekomme '-)
Avatar billede roenving Novice
10. oktober 2003 - 14:20 #20
-- og tak for points ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester