Вы ищете:
$("div.adRight:not(:has(div))").hide();
Делает, как он читает.
Ваш исходный код перепутал селекторы с функциями (например, .childen
рассматривается как селектор класса) и показывает, что вам нужно прочитать немного больше, прежде чем писать код jQuery. К сожалению.
Например, ваш оператор if
ищет что-то, что jQuery не может найти (неправильный синтаксис). jQuery возвращает пустую коллекцию - у нее есть политика, которая не выдает ненужные исключения, поэтому ее длина равна 0. Он не ищет 0 дочерних элементов.
Также обратите внимание, что для простого действия, такого как hide
, вам не нужно повторять коллекцию - hide
будет работать с уже найденными элементами, используя ваш селектор.