views:

95

answers:

2
+1  Q: 

jquery question

So I know what this does:

$(document).ready(function(){
    // Your code here...
});

Now I have seen people doing this lately:

<script type="text/javascript">     
$(function(){
    // Your code here...
});
</script>

Are these two ways of doing the same thing?

I see an anonymous function being declared inside a jquery selector here, but never actually being invoked, yet by the way the page runs it seems that this may just run on pageload.

+3  A: 

yes, they're doing the same thing. the $() function wraps $(document).ready() when the parameter to the call is a single function object.

(Edited to reflect a question in comment)

Ken Browning
So whenever you use a jquery selector a quiet little document ready check is happening in the background?
thirsty93
No, jQuery checks the type of the object passed to it and if it is a function it is bound to the document's ready event; if it's passed a string, it will do something else (like select DOM elements).
Alex Barrett
+4  A: 

Yes, they are doing exactly the same thing.

$(function(){
    // Your code here...
});

is a shortcut for

$(document).ready(function(){
    // Your code here...
});
Chatu