Elemente Browserunabhängig auswählen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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!
    Last edited by 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.

    Comment


    • #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!!!
      Last edited by MrBusty; 31-01-2007, 09:41.

      Comment


      • #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.

        Comment


        • #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...
          Last edited by MrBusty; 31-01-2007, 20:10.

          Comment

          Working...
          X