Klaus: Wie alle nodes eines HTML Strings ermitteln?

Hallo miteinander,

von einer Applikation bekomme ich einen HTML String variabler Länge übergeben. Nun soll ich alle nodes in diesem String auf bestimmte Merkmale hin untersuchen, z.B. ob ein <div classname="klasse1"> hat.

Wie mache ich denn das am Geschicktesten? Eine Schleife mit "nextSibling" fällt mir spontan ein, aber da gehen mir
vermutlich die Kindkonten durch die Lappen (z.B. die <td>, wenn ich auf ein <table> treffe). Wie ich den String rekursiv nach
Kind und Kindkindknoten etc. durchsuche, blicke ich leider nicht.

Ich hoffe Ihr könnt mir weiterhelfen.

Vielen Dank

Klaus

  1. von einer Applikation bekomme ich einen HTML String variabler Länge übergeben. Nun soll ich alle nodes in diesem String auf bestimmte Merkmale hin untersuchen, z.B. ob ein <div classname="klasse1"> hat.

    Ein String hat keine nodes.
    Du musst diesen String vom Browser parsen lassen um an die Knoten zu kommen. Du kannst einfach mit getElementByTagName('*'), mit allen aktuellen Browsern, alle Elemente rausfinden.

    Struppi.

    1. Hallo Struppi.

      Du kannst einfach mit getElementByTagName('*'), mit allen aktuellen Browsern, alle Elemente rausfinden.

      Du meinst natürlich getElement_s_ByTagName('*').

      Einen schönen Freitag noch.

      Gruß, Ashura

      --
      sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
      mathbr:del.icio.us/ mathbr:w00t/
      1. Du kannst einfach mit getElementByTagName('*'), mit allen aktuellen Browsern, alle Elemente rausfinden.

        Du meinst natürlich getElement_s_ByTagName('*').

        *g*
        Du hast natürlich recht.
        Das hatten wir doch letztens erst.

        Struppi.

  2. Hallo Klaus,

    Wenn der String z.B.
    "<HTML><BODY><H1>Hallo Klaus !</H1></BODY></HTML>"
    heißt, wie würdest Du, z.B. mit normalen menschlichen Worten, beschreiben, wie die Seite dargestellt wird ?
    "Also zuerst kommt ein HTML, das seinen Anfang bei '<' und sein Ende mit '>' hat. Dann ein BODY, das auch seinen Anfang mit '<' und sein Ende mit '<' hat ... dann kommt ein </H1>, das hat zwar seinen Anfang mit '<' aber dann folgt ein '/', was bedeutet, das hier der H1-Tag geschlossen wird".
    So, das ganze jetzt in JavaScript-Code umwandeln - fertig !

    Gruß

    Hans

    Hallo miteinander,

    von einer Applikation bekomme ich einen HTML String variabler Länge übergeben. Nun soll ich alle nodes in diesem String auf bestimmte Merkmale hin untersuchen, z.B. ob ein <div classname="klasse1"> hat.

    Wie mache ich denn das am Geschicktesten? Eine Schleife mit "nextSibling" fällt mir spontan ein, aber da gehen mir
    vermutlich die Kindkonten durch die Lappen (z.B. die <td>, wenn ich auf ein <table> treffe). Wie ich den String rekursiv nach
    Kind und Kindkindknoten etc. durchsuche, blicke ich leider nicht.

    Ich hoffe Ihr könnt mir weiterhelfen.

    Vielen Dank

    Klaus

    1. "<HTML><BODY><H1>Hallo Klaus !</H1></BODY></HTML>"

      und wenn er z.b. das enthält:

      <h1 title="Wenn das -> Leben so einfach wäre:</">test</h1>

      Struppi.

      1. Hallo Struppi.

        "<HTML><BODY><H1>Hallo Klaus !</H1></BODY></HTML>"

        und wenn er z.b. das enthält:

        <h1 title="Wenn das -> Leben so einfach wäre:</">test</h1>

        ^¹                      ^²

        ¹ Das ist erlaubt.

        ² Das nicht.

        Einen schönen Freitag noch.

        Gruß, Ashura

        --
        sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
        mathbr:del.icio.us/ mathbr:w00t/