[JS] getElementsByTagName browser problemen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 26-05 15:01

XangadiX

trepanatie is zóó kinderachtig

Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<html>
<head>
<title>javascript test</title>

<script>
    alert("allo?")
    function testJs() {
        
        var obj = document.getElementById("test1");
        // => <object/>
        
        // => []
        alert(obj.getElementsByTagName("object")[0].getElementsByTagName("*").length)
        // => []
        alert(obj.getElementsByTagName("object")[0].getElementsByTagName("param").length)
        // 3/6
        alert(obj.innerHTML)
        // => [ <param/>, <param/>, <param/> ]
        alert(obj.firstChild)
        // => <param/> 
    }

</script>

</head>
    <body>
    
    <div id='test1'>
    <object>
      <param name="name" value="value"/>
      <param name="name2" value="value2"/>
      <param name="name3" value="value3"/>
    </object>
    </div>
    
    <div id='test2'>
    <object id='test2'>
      <param name="name" value="value"/>
      <param name="name2" value="value2"/>
      <param name="name3" value="value3"/>
    </object>
    </div>
    
    <script>testJs()</script>
    
    allo?

    </body>
</html>


waarom geeft deze code in Firefox keurig 3 en 3 terug (3 elementen in een tag)
en geeft IE7 0 en 6 terug. ?!

8)7 :? :X }:O

Stoer; Marduq


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 11:19

crisp

Devver

Pixelated

omdat IE een prut-browser is :P

Intentionally left blank


Acties:
  • 0 Henk 'm!

Verwijderd

You, sir, win one internets!!!!

Acties:
  • 0 Henk 'm!

  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 26-05 15:01

XangadiX

trepanatie is zóó kinderachtig

Topicstarter
ja maar, maar... :'(
anders moet ik echt een script heel onhandig gaan omschrijven :(

#edit, wat trouwens ook stom is, is dat hij eigenlijk te weinig zou moeten teruggeven;
http://ejohn.org/blog/tags/getelementsbytagname/

[ Voor 117% gewijzigd door XangadiX op 15-10-2008 22:59 ]

Stoer; Marduq


Acties:
  • 0 Henk 'm!

  • Joolee
  • Registratie: Juni 2005
  • Niet online
Gebruik een JS Framework. Ik gebruik zelf JQuery maar er is er geloof ik ook eentje die alleen maar dat soort selections kan maken.

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 11:19

crisp

Devver

Pixelated

XangadiX schreef op woensdag 15 oktober 2008 @ 22:56:
ja maar, maar... :'(
anders moet ik echt een script heel onhandig gaan omschrijven :(

#edit, wat trouwens ook stom is, is dat hij eigenlijk te weinig zou moeten teruggeven;
http://ejohn.org/blog/tags/getelementsbytagname/
Da's blijkbaar het geval met 1 object op een pagina, met 2 wordt het blijkbaar weer een ander geval...

anyway, hier een mogelijke workaround om de param-elementen van een object te verkrijgen:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function testJs()
{
    var object = document.getElementsByTagName('object')[0];
    var params = getParams(object);
    alert(params.length);
}

function getParams(object)
{
    var params = [], param = object.firstChild;
    while (param)
    {
        if (param.nodeName == 'PARAM')
            params.push(param);

        param = param.nextSibling;
    }

    return params;
}

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 26-05 15:01

XangadiX

trepanatie is zóó kinderachtig

Topicstarter
w00t Crisp! \o/ _/-\o_

* XangadiX doet een dansje op zijn bureau...
Als ik jou niet had en mijn beide ogen dan zou ik stekeblind zijn!

geef die man een sigaar!
Afbeeldingslocatie: http://www.altadisusa.com/screensaver/TrinidadWallpaperCigars1024.jpg

nextSibling... waarom bedenk ik die dingen niet?! |:(

[ Voor 40% gewijzigd door XangadiX op 15-10-2008 23:23 ]

Stoer; Marduq


Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 23-09 18:21

Sebazzz

3dp

XangadiX schreef op woensdag 15 oktober 2008 @ 23:22:
geef die man een sigaar!
[afbeelding]

nextSibling... waarom bedenk ik die dingen niet?! |:(
Roken is dodelijk. Waarom wens je hem dat toe? :P

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 26-05 15:01

XangadiX

trepanatie is zóó kinderachtig

Topicstarter
sigaar moet je niet over je longen roken he ;)

Stoer; Marduq

Pagina: 1