WernerK: ID von Child Div heruasbekommen?

Hallo,
ich habe mir schon die Beispiele von Self durchgelesen:

http://de.selfhtml.org/javascript/objekte/node.htm#has_child_nodes@title=http://de.selfhtml.org/javascript/objekte/node.htm#has_child_nodes

Ich habe folgende Divs.
Die ID vom ersten Div also "bild1" habe ich.
Wie aber komme ich nun an die ID "No1" des untergeordneten Divs?

<div class="BildBox" id="bild1">
<div class="BildBoxInnen" id="No1">test</div>
<div class="BildBoxLabel"><span class="XPageNo" id="XPageNo">X Page</span></div>
</div>

so habe ich es versucht:
var ErsterPunkt = document.getElementsByTagName("div")[0].firstChild;

Gruss
Werner

  1. var root = document.getElementById("bild1");

    for (var i = 0; i < root.childNodes.length; i++) {
       if (root.childNodes[i].hasAttribute("id")) {
          alert(root.childNodes[i].id);
       }
    }

    Habs jetzt nicht probiert aber so ähnlich müsste es gehen.

    1. Hallo,

      Habs jetzt nicht probiert aber so ähnlich müsste es gehen.

      hm, da kommt bei mir jetzt "root" is undefined...

  2. Wie aber komme ich nun an die ID "No1" des untergeordneten Divs?

    wenn du die ID sowieso kennst:
    var div_No1=document.getElementById("No1");

    1. Hallo,

      wenn du die ID sowieso kennst:
      var div_No1=document.getElementById("No1");

      Nein ich kenne nicht die ID des untergeordnetn divs also N01 sondern nur des ersten Divs

  3. Hi,

    document.querySelector('#bild1 > div[id]');

    ~dave

  4. @@WernerK:

    nuqneH

    Die ID vom ersten Div also "bild1" habe ich. […] so habe ich es versucht:
    var ErsterPunkt = document.getElementsByTagName("div")[0].firstChild;

    Nein! Wozu getElementsByTagName("div")[0], wenn du doch die ID hast? Also mit document.getElementById("bild1") performanter auf das Elementobjekt zugreifen kannst.

    firstChild dürfte dir einen Textknoten (Whitespace) liefern.

    Du musst also in den Kindern das erste finden, dass ein http://de.selfhtml.org/javascript/objekte/node.htm#node_type@title=Element ist. Oder gleich das, welches der Klasse "BildBoxInnen" angehört.

    Moderne Browser kennen die Methode getElementsByClassName.

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)
    1. Hallo Gunnar,

      Die ID vom ersten Div also "bild1" habe ich. […] so habe ich es versucht:
      var ErsterPunkt = document.getElementsByTagName("div")[0].firstChild;

      Nein! Wozu getElementsByTagName("div")[0], wenn du doch die ID hast? Also mit document.getElementById("bild1") performanter auf das Elementobjekt zugreifen kannst.

      Du musst also in den Kindern das erste finden, dass ein [...]

      div-Element ist.

      http://de.selfhtml.org/javascript/objekte/node.htm#get_elements_by_tag_name@title=getElementsByTagName() (des Startknotens) drängt sich hier geradezu auf :-)

      Freundliche Grüße

      Vinzenz