Я пытаюсь предотвратить выбор всех элементов внутри div. Это не работает.
$('*').not('#someid > *')
Единственная проблема с вашим подходом в том, что вы просите немедленных детей. Если вы удалите >, все должно работать нормально:
>
$('*').not('#someid *');
Использование filter():
filter()
$("*").filter(function() { return !$(this).closest("#someid").length; })
... на самом деле проводим еще несколько тестов, это также должно работать:
$("*:not(#someid *)")