Problem mit for Schleife: 2. Schleife wird nicht ausgeführt

masterchief89

Grünschnabel
Hi,

ich komm einfach nicht darauf warum die beiden folgenden Schleifen nicht ausgeführt werden.

Sieht jemand den "Hund" im Code?

Danke.
Code:
   for (var i = 0; i <= document.getElementsByTagName("p").length; i++) {
      if (document.getElementsByTagName("p")[i].getAttribute("id") != null) {
         if (document.getElementsByTagName("p")[i].getAttribute("id").indexOf("_termin") >= 0) {
    	    document.getElementsByTagName("p")[i].onclick = function() {
    	       setTerminOptions(this.id);
    	     };
    	  }
       }
   }
   alert('2');
   for (var i = 0; i <= document.getElementsByTagName("span").length; i++) {
      if (document.getElementsByTagName("span")[i].getAttribute("id") == null) {continue;}
      if (document.getElementsByTagName("span")[i].getAttribute("id").indexOf("_options") >= 0) {
         $('#' + document.getElementsByTagName("span")[i].getAttribute("id")).toggle();
    		}
    	}
    	for (var i = 0; i <= document.getElementsByTagName("a").length; i++) {
    		if (document.getElementsByTagName("a")[i].getAttribute("id") == null) {continue;}
    		if (document.getElementsByTagName("a")[i].getAttribute("id").indexOf("_edit") >= 0) {
    			document.getElementsByTagName("a")[i].onclick = function() {
    				manTermin(this.id);
    			};
    		} else if (document.getElementsByTagName("a")[i].getAttribute("id").indexOf("_del") >= 0) {
    			document.getElementsByTagName("a")[i].onclick = function() {
    				manTermin(this.id);
    			};
    		}
    	}
 
Du solltest in der inneren Schleife nicht auch "i" als Variable nehmen, das ist sehr verwirrend.

Ansonsten bekomme ich folgenden Fehler

Code:
TypeError: document.getElementsByTagName('p')[i] is undefined

Weil du überall deine "i"s eins zu weit laufen lässt. Also "i <" anstatt "i <=" nehmen.
 

Neue Beiträge

Zurück