admin管理员组

文章数量:1287629

I got this error in firebug :

     SyntaxError: missing ] after element list

    [object Object]

for the following javascript piece of code :

for ( var i = 0; i < 4; i++ ) {
    setTimeout( function(){
        closeBtn( i,'.lt400' );
        // the error exactly happened in next line:
        setTimeout($('#uploaded-holder').hide(), i * 300 );
    }, i * 300 ); 
}

I don't know how a ] can be missing there.. by the way, in chrome i got this error :

Uncaught SyntaxError: Unexpected identifier

I got this error in firebug :

     SyntaxError: missing ] after element list

    [object Object]

for the following javascript piece of code :

for ( var i = 0; i < 4; i++ ) {
    setTimeout( function(){
        closeBtn( i,'.lt400' );
        // the error exactly happened in next line:
        setTimeout($('#uploaded-holder').hide(), i * 300 );
    }, i * 300 ); 
}

I don't know how a ] can be missing there.. by the way, in chrome i got this error :

Uncaught SyntaxError: Unexpected identifier
Share Improve this question edited Nov 26, 2013 at 13:46 JAAulde 19.6k5 gold badges56 silver badges64 bronze badges asked Nov 26, 2013 at 13:44 BardelmanBardelman 2,2989 gold badges45 silver badges75 bronze badges 3
  • 1 better setTimeout( function () { $('#uploaded-holder').hide() }, i * 300 ); – Praveen Commented Nov 26, 2013 at 13:45
  • yeah , i did it and it's ok , thanks :) – Bardelman Commented Nov 26, 2013 at 13:47
  • Glad to hear, it helped :) – Praveen Commented Nov 26, 2013 at 13:50
Add a ment  | 

3 Answers 3

Reset to default 7

setTimeout expects a function or a string of code as the first parameter. You are passing the result of the evaluation of this expression:

$('#uploaded-holder').hide()

This expression returns neither a string, nor a function. It returns a jQuery collection.

You want:

setTimeout(function () {
    $('#uploaded-holder').hide();
}, i * 300 );

You have an odd set of code there, though, given the bination of setTimeouts and the loop. I would expect some wild oddities to e from it once this error is resolved. For example, i is not going to be what you expect in the execution of many of those internal functions...

You may try to use this:-

setTimeout( function () 
{ $('#uploaded-holder').hide() }, i * 300 );

instead of

setTimeout($('#uploaded-holder').hide(), i * 300 );

as setTimeout expects a string or a function as first parameter.

You can also try this , this also works

setTimeout(" $('#uploaded-holder').hide() ", i * 300 );

Add the first parameter within double quotes.

本文标签: javascriptSyntaxError missingafter element list object ObjectStack Overflow