セレクターからjqueryオブジェクトの配列を取得しようとしているので、後で変更するためにそれらを再度クエリする必要はありません。
しかし、コードでテストしていると、jqueryセレクターが特定の要素をクエリしない場合、配列をhtml要素として返すことがわかりました。
//HTML
<div id='nav'>
<div class='menu'>menu 1</div>
<div class='menu'>menu 2</div>
<div class='menu'>menu 3</div>
<div class='menu'>menu 4</div>
<div class='menu'>menu 5</div>
</div>
//JS
//this works
$('#nav .menu:eq(0)').html('haha');
//this does not
$('#nav .menu').get(0).html('halo w');
-> Uncaught TypeError: Object #<HTMLDivElement> has no method 'html'
私の質問は、なぜjqueryオブジェクトではなくhtml要素を返すのかということです。セレクターからjqueryオブジェクトの配列を取得するにはどうすればよいですか。
これがJSFiddleの例です。