Elemente Browserunabhängig auswählen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Elemente Browserunabhängig auswählen

    Hallo, ich möchte mehrere Elemente auswählen, welche einen bestimmten Namen oder Klassennamen besitzen.

    Dafür gibt es ja viele Möglichkeiten...
    Allerdings möchte ich nicht erst groß mit Browser-Weichen anfangen.
    (dann optimiere ich es lieber nur für einen Browser und damit hat sich die Sache!)

    Bevor ich aber haufenweise Zeit investiere, wollte ich doch gerne ein paar erfahrene Programmierer fragen, ob es da eine Variante gibt die überall, oder so gut wie überall funktioniert (zumindest ff und ie)

    Das sind meine bisher gefundenen Varianten:
    PHP-Code:
    var allItems document.getElementsByName("...");  // nur FF, ideal

    var allItems document.all;    // nur IE, langsam da alle Elemente ausgewählt werden

    var allItems document.classes.["..."].all// finde dies sehr gut...
    // funktioniert aber nicht im FF - das ist allerdings Grundvoraussetzung! 
    Mit folgendem Code, könnte ich dann noch feiner unterscheiden, indem ich mehrere unterschiedliche Klassennamen vergebe
    (PS: i ist Laufvariable einer Schleife):
    PHP-Code:
    if( (allItems[i].className).search("...") != -) {...} 
    Was mir nicht sehr viel bringt wäre diese Lösung:
    PHP-Code:
    var allItems document.getElementsByTagName("..."); 
    - da mehrere verschiedene Tags auswählen möchte
    - ich habe den Seiteninhalt noch nicht geschrieben, weshalb ich noch nicht sagen kann, welche Tags ich verwenden werde
    - Eine Äußere Schleife über alle verfügbaren Tags wäre zwar möglich, aber nicht sehr elegant gelöst. Auch würde dies sehr rechenaufwändig sein, da ich dann den Zeichenkettenvergleich (der Klassennamen) auf alle Elemente der Seite anwenden würde.

    Kennt sich jemand mit diesem Thema aus?
    Besten Danke für jede Hilfe!
    Zuletzt geändert von MrBusty; 31.01.2007, 08:43.

  • #2
    Re: Elemente Browserunabhängig auswählen

    Original geschrieben von MrBusty
    PHP-Code:
    var allItems document.getElementsByName("...");  // nur FF, ideal 
    Was soll daran ideal sein?
    Nur ein Bruchteil aller HTML-Elemente hat überhaupt ein name-Attribut.



    Lösungen für ein getElementsByClassName sind im WWW verfügbar.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Lösung

      Original geschrieben von wahsaga
      Was soll daran ideal sein?
      Nur ein Bruchteil aller HTML-Elemente hat überhaupt ein name-Attribut.
      Achso, wusste ich nicht...
      Dann macht das Name-Attribut aber wenig Sinn, wenn es nicht durchgängig angewendet werden kann.

      Lösungen für ein getElementsByClassName sind im WWW verfügbar.
      Danke für den Tipp!!!

      Für alle, welche auf diesen Thread gestoßen sind, hier ein paar Beispiele:
      http://forum.de.selfhtml.org/archiv/2006/4/t128594/
      http://trash-wissen.de/2006-05-19/effektives-updaten/

      PS: der Code in beiden Beispielen geht auf den gleichen Autor zurück, allerdings ist der Code leicht unterschiedlich - kannst du mir sagen, welcher von beiden die bessere Version ist?
      (ich nehme an der von selfhtml)

      Nochmal DANKE!!!
      Zuletzt geändert von MrBusty; 31.01.2007, 09:41.

      Kommentar


      • #4
        Re: Lösung

        Original geschrieben von MrBusty
        Dann macht das Name-Attribut aber wenig Sinn, wenn es nicht durchgängig angewendet werden kann.
        Es hat andere Einsatzzwecke - ausserhalb von Javascript.


        Und zum Code bewerten - das kannste mal selber machen.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Re: Re: Lösung

          Original geschrieben von wahsaga
          Und zum Code bewerten - das kannste mal selber machen.
          Ok, habe jetzt einfach die Selfhtml-Variante verwendet...
          Zuletzt geändert von MrBusty; 31.01.2007, 20:10.

          Kommentar

          Lädt...
          X