Q:

jQuery selectors : list not inside a div

I have an HTML structure like the following :
<div id='main'>
  <ul>
    <li>1_1</li>
    <li>1_2</li>
    <li>1_3</li>
  </ul>
   <ul>
    <li>2_1</li>
    <li>2_2</li>
    <li>2_3</li>
  </ul>
  <div id='sub1'>
    <ul>
      <li>sub1_1</li>
      <li>sub1_2</li>
      <li>sub1_3</li>
    </ul>
  </div>

Using jQuery, I am trying to get the text of ALL the li elements in ALL the ul inside the 'main' div, but NOT in 'sub1' div.  
'#main' can contain a single list, or many, or none.
Bonus if the selectors work with cheerio on Node.js, but all I really would like is to learn the right way to solve that problem :)
I can add my failed attempts if anyone feels like this post needs it. To avoid tl;dr, let's just say I have an OK knowledge of jQuery and nothing I've tried worked!

A:

Try to use the child selector and after that go for the descendants,
$("#main > ul li")

DEMO

