2016-05-08 16 views
0

js Schleife durch geklickt Elemente Kindelemente und ich habe Fehler: Uncaught Typeerror: kann nicht lesen Eigenschaft ‚enthält‘ undefinierterjs Schleife durch geklickt Elemente Kindelemente

ich vergleichen müssen, wenn einer von ihnen Klasse Task-Wert haben und ich kann nicht verstehen, warum ich den Fehler habe !!! Benötigen Sie für schlechtes Englisch Link zu js Geige whith Code leider Hilfe

Link to code on js fiddle

function docClick(e) { 
    var target = e.target; 
    console.log(this.childNodes.length) 

    for(var i = 0; i < this.childNodes.length; i++){ 
     console.log(this.childNodes[i]) 

     if(this.childNodes[i].classList.contains("task-value")){ 
      console.log("if") 
     }else{ 
      console.log("else") 
     } 
    } 

Link UpDate whit full css/Html and Javascript

+1

No 'html' bei verknüpft jsfiddle erscheint? – guest271314

Antwort

0

Dies ist möglich geworden, weil this.childNodes nicht nur Elemente HTML enthält aber auch text Knoten. Textknoten können keine Klassen haben so sie nie Eigenschaft haben classList Sie müssen verwenden Eigenschaft children zu bekommen genau html elements

function docClick(e) { 
    var target = e.target; 
    console.log(this.children.length) 

    for(var i = 0; i < this.children.length; i++){ 
     console.log(this.children[i]) 

     if(this.children[i].classList.contains("task-value")){ 
      console.log("if") 
     }else{ 
      console.log("else") 
     } 
    }