2016-06-03 40 views
0

Wo ich 'Element [i]' habe, ist mir ein Fehler, aber in der Konsole gibt es das Element zurück. Dies ist der Fehler:Uncaught TypeError: Kann Eigenschaft 'addEventListener' von undefined nicht lesen

Uncaught TypeError: Cannot read property 'addEventListener' of undefined

function getElements(attrib) { 
    return document.querySelectorAll('['+ attrib + ']') 
} 

window.element = getElements('type=submit'); 

for (var i = 0; i <= element.length; i++) { 
    element[i].addEventListener('click', function() { 
     showSpinner.bind(this, element[i]) 
    }) 

Antwort

-2

Wo Sie

i<=element.length 

haben Sie eigentlich wollen

i<element.length 
+2

Zumindest versuchen, zu kommentieren, was falsch ist ... – Justinas

+1

@ Justinas, jeder versteht. – Qwertiy

+0

@Justinas, http://meta.stackoverflow.com/q/324385/4928642 – Qwertiy

4

Da indiziertes Array von 0 beginnt, müssen Sie array.length - 1

iterieren

So ändern Sie i <= element.length zu i < element.length

Fehler wird vom letzten Element verursacht. Wenn Array hat 5 Elemente, als letzten Element Index wird 4 statt 5 und <= iteriert einschließlich 5 führt zu fehlenden Element element[5]

Verwandte Themen