ОК, поэтому вам нужно сделать следующее (при условии, что вы используете полученный пример), если вы хотите найти узел верхнего уровня с помощью jquery, выполните следующие действия:
$('*:not(* *)');
Здесь вы буквально просите все узлы, которые не являются потомками других узлов. Проблема в том, что для HTML-документа это всегда даст вам только HTML-элемент, который не особенно полезен. Итак, если вы хотите найти элемент верхнего уровня в теле html-документа, вы бы использовали что-то намного более простое:
$('body > *');
если бы вы тогда хотели второй уровень, вы бы просто пошли
$('body > * > *');
Но, предполагая, что у вас есть какая-то произвольная структура документа (например, foo, которую вы упоминаете), вы можете использовать первый пример, чтобы найти первый уровень:
$('*:not(* *)');
и затем для второго уровня
$('*:not(* *)').find('> *');
и для третьего уровня
$('*:not(* *)').find('> * > *');
и так далее, и тому подобное. Если вы ищете корневой элемент div (предполагая, что ваш образец похож на вопрос), вы можете сделать это:
$('div:not(div div)');
и т. Д., Заменяя * на div. Не совсем уверен, почему вы хотите это сделать, но это сработает. Проблема в том, что вопрос не дает нам достаточного контекста, чтобы дать вам лучшую альтернативу.