+ 31
JAVASCRIPT QUESTION
Hi guys! What exactly does document.querySelector() and document.querySelectorAll() do? I've checked online but I'm yet to find a `dumbed-down` explanation of them. Can someone please explain with examples?
51 Answers
+ 49
There is no document.querySelectors it is querySelectorAll.
querySelector selects the first element that matches a CSS selector.
querySelectorAll returns a collection of all elements that matches a CSS selector.
EDIT: Wow. I never expected this much upvotes. 😄 Thanks everyone
+ 20
If you are known to css then it is a very easy task!
document.querySelector("#haha")
Is same as
document.getElementById("haha")
And
document.querySelectorAll(".haha")[0]
Is same aa
document.getElementsByClassName("haha")[0]
+ 14
Hey 👑Tchybooxuur! I created this small code to demonstrate the difference.
https://code.sololearn.com/W0Gjy3PZbM6X
+ 11
Ore
It would help a great deal if you could explain what each line of your JS code does. Perhaps by way of commenting or by any other way you deem fit.
You could totally do it whenever you are chanced.
+ 7
Ore
Thanks.
Let me edit accordingly 👍🏼
+ 7
Namit Jain
Whoa!
Thanks men 👍🏼
+ 7
Thanks Ore
Checking it out right away!
+ 7
👑Tchybooxuur! Sorry about that. I did not write it with the intention that it will be read. I expected you to just check the output and see what is returned by the two functions. Anyway, I will try to simplify the code. Pardon me.
+ 7
👑Tchybooxuur! You can check it now
+ 7
Ore maybe due to many friends 😂😅👦
Cuz he is a very friendly guy
+ 7
That's what's up Ore
I'm a very friendly guy! ☺️☺️☺️
Thanks Namit Jain 👌
+ 6
Namit Jain Yeah. Maybe
+ 6
Kode Krasher Haha. A champion for writing an unreadable code that the OP could not even understand? I feel ashamed rn
+ 6
Ore
😂
That's entirely the fault of the OP.
You did noble... 👍🏼
+ 6
Kode Krasher
I checked his profile and he's helped virtually everyone on sololearn with a web related question. He's that hot 🔥 upstairs! 😅😅😅
+ 6
Kode Krasher:
Very well said... 👍🏼
+ 6
Kode Krasher and 👑Tchybooxuur! Thanks 😊
+ 6
Jorat For the most part you are right except that `querySelectorAll` returns a NodeList not an array. A NodeList is also iterable like an array but does not have the array methods like reduce, filter.
+ 6
junayeD ●_°
Thanks a lot. You did a great job simplifying things.
I have a further question not necessarily related to the above question. How would you write your function so that on clicking the button multiple times, it toggles between the new value and the initial value? Like if I press the button once, background turns red and when I press again, it goes back to white like so.