[Javascript]Auf alle Links innerhalb eines Elements zugreifen

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von moses_78, 27.03.2006.

  1. moses_78

    moses_78 Thread Starter MacUser Mitglied

    Beiträge:
    1.322
    Zustimmungen:
    22
    MacUser seit:
    08.04.2005
    Hallo zusammen,

    ich möchte auf Links innerhalb des Div-Elements "fff" zugreifen, und die Attri-
    bute dieser ändern. Das sieht bis jetzt so aus:
    Code:
     var eltern_element = document.getElementById('fff');
     alert(eltern_element.links.length);
    
    document.links.length funktioniert natürlich einwandfrei, warum meine oben
    genannte Methode nicht?

    Ich wäre seeehr dankbar für Antworten :)

    Mathias
     
  2. moses_78

    moses_78 Thread Starter MacUser Mitglied

    Beiträge:
    1.322
    Zustimmungen:
    22
    MacUser seit:
    08.04.2005
    Keiner ne Idee :(

    dms, hammer, etc., wo seid ihr ;)
     
  3. b.legt210

    b.legt210 MacUser Mitglied

    Beiträge:
    81
    Zustimmungen:
    4
    MacUser seit:
    01.03.2006
    Hallo moses,

    die funktion links steht offensichtlich nur dem Objekt document zur Verfügung. Ich hab dir anbei mal einen Weg skizziert, wie du das evtl. angehen könntest:
    PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <
    html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
    <
    head>
        <
    meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
        <
    title>Untitled</title>
        <
    meta name="generator" content="handmade by b." />
        <
    script type="text/javascript" language="javascript1.2">
        
    // <![CDATA[
        
            
    function test()
            {
                var 
    anker = new Array();
                
    eltern_element document.getElementById('fff');
                
    alert(eltern_element.childNodes.length);
                
                for (
    0eltern_element.childNodes.lengthi++)
                {
                    
    alert("Knoten #"+i+": "+eltern_element.childNodes[i].nodeName)
                    if (
    eltern_element.childNodes[i].nodeName == "A")
                    {
                        
    anker[anker.length] = eltern_element.childNodes[i];
                    }
                }
            }
            
        
    // ]]>
        
    </script>
    </head>
    <body>
    <div id="fff">
        <a href="#">Link innerhalb 1</a> <!-- wird erkannt -->
        <div>
            <a href="#">Link innerhalb 2</a><!-- wird nicht erkannt  !!! benötigt Rekursion durch ChildNodes !!! -->
        </div>
    <div>
    <a href="#">Link außerhalb</a>
    <script type="text/javascript" language="javascript1.2">
    // <![CDATA[
        test();
    // ]]>
    </script>
    </body>
    </html>
    Stephan
     
  4. moses_78

    moses_78 Thread Starter MacUser Mitglied

    Beiträge:
    1.322
    Zustimmungen:
    22
    MacUser seit:
    08.04.2005
    Ich habe das Script noch nicht ausprobiert, trotzdem tausend Dank für diesen
    Lösungsansatz :)

    Ich hatte schon die Idee, mit nextnode, childnode, etc. den kompletten DOM-
    Tree abzugrasen, habe das dann aber verworfen, weil es mir dann doch zu
    kompliziert schien, aber hiermit habe ich eine Grundlage *freu*.

    Gruß Mathias
     
Die Seite wird geladen...