Avatar billede ameq Nybegynder
21. juli 2006 - 15:42 Der er 10 kommentarer og
1 løsning

getElementsByName giver ikke nogle elementer tilbage

Den her kode skulle meget gerne giv mig 2 tilbage når jeg klikker på knappen men jeg får 0, hvorfor?
<html>
<head>
<script type="text/javascript" language="javascript">
    function tryppaamig()
    {
        up_divs = document.getElementsByName("up");
        alert(up_divs.length);
    }
</script>
</head>

<body>
<div name="up">200</div>
<div name="up">145</div>
<div name="down">146</div>
<div name="other">178</div>

<br>
<input type="button" value="klik" onclick="tryppaamig();">
</body>
</html>
Avatar billede Tony Juniormester
21. juli 2006 - 16:16 #1
name-atributten er vist ikke så heldig på div's:

http://developer.mozilla.org/en/docs/DOM:element.name

'name' gets or sets the name attribute of an DOM object, it only applies to the following elements: anchor, applet, form, frame, iframe, image, input, map, meta, object, option, param, select and textarea.
Avatar billede Søren Bech Morsing Praktikant
21. juli 2006 - 16:29 #2
du må bruge navn/id mere end én gang pr. side (er jeg 99% sikker på)
Jeg vil også bruge ID i stedet for NAME

Hvis du har gang i noget dynamisk programmering er tallet vel også ligegyldigt, for så ved du jo hvor mange du har skrevet "Up" ved at tælle den.
Avatar billede mclemens Nybegynder
22. juli 2006 - 01:14 #3
[ du må bruge navn ] <- Jeg er 100% sikker på at man
godt må bruge samme name flere gange på samme side...
- Og så kan du godt øge den anden 99% m.h.t. id på siden
til 100% ... Den del er god nok kun 1 id pr side ...
Avatar billede mclemens Nybegynder
22. juli 2006 - 01:16 #4
tony breindal bør kaste et svar den med at det var forkert
element - name var blevet brugt på er rigtigt nok :o)
Avatar billede mclemens Nybegynder
22. juli 2006 - 01:19 #5
fusk:


<html>
<head>
<style type="text/css">
.h{display:none;}
</style>
<script type="text/javascript" language="javascript">
    function tryppaamig()
    {
        up_divs = document.getElementsByName("up");
        alert(up_divs.length);
    }
</script>
</head>

<body>
<div><input class="h" name="up">200</div>
<div><input class="h" name="up">145</div>
<div><input class="h" name="down">146</div>
<div><input class="h" name="other">178</div>

<br>
<input type="button" value="klik" onclick="tryppaamig();">
</body>
</html>
Avatar billede mclemens Nybegynder
22. juli 2006 - 01:22 #6
Fusk med class validering istedet ...


<html>
<head>
<style type="text/css">
.h{display:none;}
</style>
<script type="text/javascript" language="javascript">
    function tryppaamig()
    {
        divs=document.getElementsByTagName("div");
        up_divs=[];
        for(i=0;i<divs.length;i++)if(divs[i].className=="up")up_divs[up_divs.length]=divs[i];
        alert(up_divs.length);
    }
</script>
</head>

<body>
<div class="up">200</div>
<div class="up">145</div>
<div class="down">146</div>
<div class="other">178</div>

<br>
<input type="button" value="klik" onclick="tryppaamig();">
</body>
</html>
Avatar billede mclemens Nybegynder
22. juli 2006 - 01:27 #7
Sikke da en dum formulering jeg kom med:

- Og så kan du godt øge den anden 99% m.h.t. id på siden
til 100% ... Den del er god nok kun 1 id pr side ...

Omformulering: ... Den del er god nok der må ikke være flere ens id'er pr side ...
... Det er lidt bedre formuleret - man må jo godt have mere end et id på en side :D
Avatar billede ameq Nybegynder
24. juli 2006 - 07:54 #8
skb : mclemens har ret, et id må kan bruges engang hvor et navn må bruges mange gang :)
mclemens : jeg fik også selv løst det, lige som du har løst det ved at loppe alle min div tags gennem lidt underlidt at jeg så godt kan teste på navnet... men jaaa :)
Så mclemens kommer du med at svar?
Avatar billede mclemens Nybegynder
24. juli 2006 - 09:08 #9
Yes, her er lige et svar - lidt fusk er aldrig helt skidt :o) ... jeg vil dog meget gerne dele pointene mellem mig og så tony_breindal, da han sagde det med at name angivelsen var forkert i første omgang ...

- er det ok, at vi lige venter på at han kaster et svar også ?

... Tony, er det ok med en deler?
Avatar billede Tony Juniormester
28. juli 2006 - 14:23 #10
Undskyld - har været på ferie.

Jeg synes du ska' ha' dem mclemens. Du har bidraget med langt det meste :-)
Avatar billede mclemens Nybegynder
28. juli 2006 - 16:05 #11
Tak for point :o)
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