Philipp.: Auf ID von firstChild zugreifen

Beitrag lesen

Hi,

ich möchte mich mit der Tastatur (Pfeiltasten) durch eine li-ste bewegen. Das jeweilige Listenelement soll in ein input-Feld übernommen werden.

Das ganze funktioniert mittels firstChild.nodeValue für eine Liste in diesem Format:

<li>Text</li>  
<li>Text 2</li>

Ich habe aber in jedem Listenelement einen Link und möchte gerne auf dessen id zugreifen:

<li><a id="wert" href="#">Text</a></li>  
<li><a id="wert2" href="#">Text 2</a></li>

Allerdings bekomme ich hier immer nur 'null' zurück.

Wie kann ich jetzt die ID abfangen, gibt es statt nodeValue sowas wie nodeId?

    function keynavigation (obj)  
    {  
      var curElement  = null;  
      var naviElement = null;  
  
      function clearSpaces (strOut)  
      {  
        strOut = strOut.replace(/>\s+/gm, '>');  
        strOut = strOut.replace(/\s+</gm,'<');  
        strOut = strOut.replace(/>\s+</gm,'><');  
  
        return strOut;  
      }  
  
      function keyPressed (evt)  
      {  
        var curKey = evt.keyCode;  
  
        switch (curKey)  
        {  
          case 38:  
          if(curElement && curElement.previousSibling)  
          {  
            curElement = curElement.previousSibling;  
            document.getElementById('check').value = curElement.firstChild.nodeValue;  
          }  
          break;  
  
          case 40:  
          if(curElement)  
          {  
            if(curElement.nextSibling)  
            {  
              curElement = curElement.nextSibling;  
              document.getElementById('check').value = curElement.firstChild.nodeValue;  
            }  
          }  
          else  
          {  
            curElement = naviElement.firstChild;  
            document.getElementById('check').value = curElement.firstChild.nodeValue;  
          }  
          break;  
  
          case 13:  
          if(curElement)  
          {  
          alert(curElement.firstChild.nodeValue);  
          }  
          break;  
          default:  return;  
        }  
      }  
  
      this.init = function ()  
      {  
        eventHandling(document,"keydown",keyPressed);  
        obj.innerHTML = clearSpaces (obj.innerHTML);  
        naviElement   = obj;  
      }  
    }
    <input type="text" id="check">  
        <div>  
          <ul id="navitree">  
            <li><a id="wert1" href="#">Text</a></li>  
            <li><a id="wert2" href="#">Merseburg</a></li>  
          </ul>  
        </div>