In the following jQuery, the .each() method takes two arguments: 'ul li a' and menu. What do these two arguments mean?
var menu = $('.menu');
$('ul li a', menu).each(function() {
$(this).append('<span />');
});
HTML:
<div class="menu">
<ul>
<li><a href="#">Edit Profile</a></li>
<li><a href="#">Account Settings</a></li>
<li><a href="#">Appear Offline</a></li>
<li><a href="#">Logout</a></li>
</ul>
</div>
The second parameter to the jQuery function is the context. This tells jQuery to only search for elements that are in that context
So for your example:
This will only search for anchors within li’s within a
ul, that are also located inside of menu.This can be a very useful optimization since it can significantly cut down the amount of space jQuery has to search.
EDIT
To possibly make this a bit clearer (as jfriend00 points out), your particular example,
$('ul li a', menu), is equivalent to$('.menu ul li a')The context parameter is explained here in the docs