Sven: Alternative getElementById

Hallo,

ich muss mit meinem Script auch den IE4/Mobile IE CE unterstützen. Die wiederum unterstützen mehr JS als man glaubt, allerdings kein getElementByID (:

Ich habe ein Element (ein td) mit einer ID und möchte den Wert via InnerHTML ändern.

Das Element liegt allerdings nicht in einer Form (durch Durchsuchen aller Forms nach Elementen mit einem bst Namen habe ich getElementId in der Vergangenheit umgangen).

Könnt Ihr mir helfen? Ich habe bisher leider nur Ergebnisse für Forms und ala 'Update deinen Browser' bekommen.

Einziger 'dreckiger' Fix der mir einfällt, ist das einbinden einer funktionslosen form um die Table herum, oder das Verwenden von Nodes. Das gelingt mir aber nicht:

  
var i = 0;  
	while (document.node[i]) {  
		if (document.node[i].id == "idName") {  
			document.node[i].innerHTML = "dein Text";  
			break;  
		}  
		i++;  
	}  

  1. Hi,

    Die wiederum unterstützen [...] kein getElementByID (:

    Wie sieht's mit getElementById aus? (ist ja was vollkommen anderes als getElementByID)

    Ich habe ein Element (ein td) mit einer ID und möchte den Wert via InnerHTML ändern.
    Das Element liegt allerdings nicht in einer Form (durch Durchsuchen aller Forms nach Elementen mit einem bst Namen habe ich getElementId in der Vergangenheit umgangen).

    Hä? Da td kein name-Attribut hat, ist das Suchen nach dem (nicht-vorhandenen) Namen doch wohl auch keine Lösung.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
    1. Hi,

      Die wiederum unterstützen [...] kein getElementByID (:

      Wie sieht's mit getElementById aus? (ist ja was vollkommen anderes als getElementByID)

      Du wirst es kaum glauben, aber das war ein Vertipper.

      Ich habe ein Element (ein td) mit einer ID und möchte den Wert via InnerHTML ändern.
      Das Element liegt allerdings nicht in einer Form (durch Durchsuchen aller Forms nach Elementen mit einem bst Namen habe ich getElementId in der Vergangenheit umgangen).

      Hä? Da td kein name-Attribut hat, ist das Suchen nach dem (nicht-vorhandenen) Namen doch wohl auch keine Lösung.

      In der Vergangenheit habe ich das Ganze wie gesagt auf Kindelementen von Forms angewandt. Die hatten Namen ;)

      Tipps?

      Gruß

      1. In der Vergangenheit habe ich das Ganze wie gesagt auf Kindelementen von Forms angewandt. Die hatten Namen ;)

        Ich schlüge vor: Schreib dir doch dein eigenes getElementById.
        Entweder du hangelst dich bei jedem Mal dass du eine ID brauchst rekursiv durch den Baum bis du sie hast oder - das halte ich mal für performanter. Du hangelst dich beim Laden der Seite durch den Baum und speicherst alle Elemente, die eine ID in ein Objekt o.ä. und schreibst dann deine eigene getElementById, die dieses Objekt durchsucht.

        --
        sh:( fo:| ch:? rl:( br:& n4:& ie:{ mo:} va:) de:µ_de:] zu:) fl:( ss:| ls:[ js:(
        1. In der Vergangenheit habe ich das Ganze wie gesagt auf Kindelementen von Forms angewandt. Die hatten Namen ;)
          Ich schlüge vor: Schreib dir doch dein eigenes getElementById.
          Entweder du hangelst dich bei jedem Mal dass du eine ID brauchst rekursiv durch den Baum bis du sie hast oder - das halte ich mal für performanter. Du hangelst dich beim Laden der Seite durch den Baum und speicherst alle Elemente, die eine ID in ein Objekt o.ä. und schreibst dann deine eigene getElementById, die dieses Objekt durchsucht.

          Das ist ja dass, was ich mit den Nodes probiert habe, was aber nicht geklappt hat. Der Quelltext hängt im OP an

          1. Das ist ja dass, was ich mit den Nodes probiert habe, was aber nicht geklappt hat. Der Quelltext hängt im OP an

            und warum willst du nicht document.all benutzen????

            Struppi.

  2. ich muss mit meinem Script auch den IE4/Mobile IE CE unterstützen. Die wiederum unterstützen mehr JS als man glaubt, allerdings kein getElementByID (:

    Aber document.all

    Struppi.