EmmyS
EmmyS

Reputation: 12138

Is there any documentation on underscores in jquery variable names in IE8?

I was having issues with some jquery and posted about it here. After following a few of the suggestions, I was able to isolate the problem - IE8 did not like the variable name new_email. In fact the debugger had been telling me that the issue was at character 4 of that line, but I couldn't believe it was the variable name, so I kept looking for other issues.

After finally giving in and changing the variable name to newEmail, IE8 no longer blows up - the code works as expected with no errors.

I've been unable to find any documentation stating that you can't use underscores in jquery variable names, and indeed, the code worked correctly in every other browser with the underscore in place. Is this an unwritten rule in IE8? Is it something that real jquery developers just know? I'm worried if this really is true, as I inherited this code, and the app is enormous - I know there are several dozen variables in various places that have underscores in them.

Upvotes: 0

Views: 978

Answers (3)

brianpeiris
brianpeiris

Reputation: 10795

jQuery is written in JavaScript, which is a language based on the ECMAScript Language Specification (PDF). The specification states that "underscore[s] are permitted anywhere in [a variable name]".

Your problem, as HurnsMobile, stated is most definitely not with the underscore but some other part of your code. It may also be caused by some quirk or bug in IE8 but even IE8 should be able to handle simple variable names.

Upvotes: 1

HurnsMobile
HurnsMobile

Reputation: 4381

This is actually a javascript variable and not a jQuery variable, an important distinction, and in Javascript the underscore is a valid character for variable names. You must have changed something else unrelated.

Is it possible that variable name was already assigned elsewhere? Also note that you aren't using the var keyword which can cause further issues with scope.

You can always post a jsfiddle.net example if you would like more assistance though.

Upvotes: 2

mcgrailm
mcgrailm

Reputation: 17640

here is a working jsfiddle that uses your variable

please note that you should probably be more specific than ":text"

Upvotes: 1

Related Questions