Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialDou Sun
2,754 PointsWhy can't I use the 'push' method??
so the last part I was trying to use the 'push' method like this, as the "ul" is an array.
my cold is like this:
addItemButton.addEventListener ('click', function(){ let ul = document.querySelectorAll('li'); let li = document.createElement('li'); li.textContent = addItemInput.value; ul.push(li); })
and in the console it keeps reminding me that "ul.push is not a function at HTMLButtonElement."
would anybody explain this to me pls?
1 Answer
Steven Parker
231,271 PointsThe function begins by creating the variable "ul" and setting it to a static NodeList representing a collection of all "li" elements in the document ("let ul = document.querySelectorAll('li')
").
But then later it tries to use a "push" method ("ul.push(li)
") on it. While static NodeLists are similar to arrays in some aspects, they do not have a "push" method and so this causes an error.
For more details, see the MDN page on NodeList.
Also, since the "ul" variable gets disposed immediately after this statement, it's not clear why this operation would be desired even if it did work.
Dou Sun
2,754 PointsDou Sun
2,754 Pointsthank you very much!