node.onclick, and Chrome/Firefox seem to agree with me, but I saw it written
.onClick here 4 times by 3 people, so it can't be a typo and I doubt that it's a coincidence.
So, why are people writing
onClick when it does not work?
UPDATE: There are two good explanations; I don't know which one of them is the most plausible, so I will accept the answer based on popular vote, tomorrow.
Because some browsers (depending on the DOCTYPE) are tolerant of the inline
Also, specifically to stackoverflow...people using it in questions...well, most of the time they wouldn't be asking a question if their code worked :)
@Nick Craver pretty much has it nailed down and has my vote; I just wanted to add my thought.
I think it's
onclick is correct and the only way it should appear. Even if you're using an older HTML doctype, stick to lowercase. If you ever update to a more strict doctype, you'll be glad your code doesn't need to be checked for case.
It's just that for most browsers HTML attributes are case insensitive, but JS is case-sensitive. onClick will work in html, but if you're defining the handler in JS, you need to use the lowercased onclick.
In that specific question, I used "onClick" as the original question had it in that vein and I try to change as little of the OPs code as possible to make a solution, so that they can see their mistake easily.
The camel case is invalid technically, though I like camel case in general. Frankly, it always annoys me when I see that method, as I think "Where's jQuery!".
It is heavily prevalent in the world, I see it all the time in source.
I edited my answer on the referenced question to fit, thanks for pointing it out.
©2020 All rights reserved.