Добрый день!
Существует на странице некий блок
section. Необходимо, чтобы при клике на него (
за исключением вложенных ссылок!), для
body назначался класс
.open и удалялся при повторном клике.
Пишем:
$(document).ready(function(){
$('section').click(function(){
$('body').toggleClass('open');
return false;
});
});
Все работает, все прекрасно: нажимаем на любое место в секции, и телу документа присваивается нужный нам класс. НО! Но в секции содержатся ссылки. Причем это не непосредственно дочерние элементы, они имеют сложную структуру:
section>.wrapper>article>menu>li>a[href=#].
Если бы это были непосредственно дочерние элементы, найти их можно было б с помощью
children(), однако для нашего случая существует
find(). Например:
$('section').find('a') - найдет внутри секции все ссылки, вне зависимости от вложенности элементов.
Вопрос: как для body присвоить определенный класс по клику в любом месте секции
за исключением ссылок? То есть
ссылки в секции должны работать в обычном режиме - перенаправлять на другие страницы; а обычный текст, пустое пространство, изображение в блоке (по клику) должны определять для
body класс. Как я только не изворачивался с
:not() и
.not() - ничего не получается.
Спасибо!