clankill3r
clankill3r

Reputation: 9543

SyntaxError: Invalid character '\u8203'

This function gives me the following error:

SyntaxError: Invalid character '\u8203'

All looks good to me,

function changeColumnWidth() {
    var w = Math.random() * 200+80;
    $('#menu').css("width", w+"px");
}​

can someone spot the error?

Upvotes: 16

Views: 30604

Answers (2)

Vipul R
Vipul R

Reputation: 195

Open file in Hex Editor (I m using Hex Friend ,http://ridiculousfish.com/hexfiend/) Remove the character which is showing error Save file

Upvotes: 0

Rob W
Rob W

Reputation: 349122

It's a character after the closing curly brace:

I copy-pasted your code in Firefox' console, postfixed with a undefined method invocation:

'function changeColumnWidth() {\
    var w = Math.random() * 200+80;\
    $(\'#menu\').css("width", w+"px");\
}​'.l(); /* .l() triggers a TypeError, since it's not defined */

A TypeError (undefined) shows up, which includes the parsed (escaped) code:

TypeError: "function changeColumnWidth() { var w = Math.random() * 200+80; $('#menu').css(\"width\", w+\"px\");}\u200B".l is not a function.
                                 ^^^^^^ Here's the error.

Now, the troublemaker is found. To fix it, open your code in a text editor, and remove the invisible character. This character can be detected by walking through all characters using the arrow keys.

Upvotes: 32

Related Questions