Предполагая следующий HTML:
<ul id="main">
<li>1</li>
<li>2</li>
<li>3
<ul id="sub">
<li>3.1</li>
<li>3.2</li>
</ul>
</li>
<li>4</li>
<ul>
Вы можете использовать jQuery следующим образом:
$('#main > li:not(:has(#sub))');
... и вот скрипка: http://jsfiddle.net/yqrd5/
Или, если вы хотите выбрать среди первых 3:
$('#main > li:lt(3):not(:has(#sub))');
... или динамически:
var j = 3;
$('#main > li:lt(' + j + '):not(:has(#sub))');
... и вот скрипка: http://jsfiddle.net/yqrd5/1/
Или вы можете захотеть первые 3, у которых этого нет ul
:
$('#main > li:not(:has(#sub)):lt(3)');
... и вот скрипка: http://jsfiddle.net/yqrd5/2/