Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Не работает селектор $(selector:not(selector)

Руслан Мухаметдинов Ученик (187), закрыт 4 года назад
Всем привет!!! У меня не работает селектор :not в $(selector:not(selector)):
при нажатии на ссылку $('#link') происходит отображение c анимацией:

$(window).on('load', ()=> {

var question = $('.Quetion');

//Some code …

$('#link').on('click', function(){
question.css({
display: "flex",
top: "auto",
left: "auto",
zIndex: 13
});
$("*").not(question).fadeTo(300,0.6);
$('html,body').animate({
scrollTop: question.offset().top - 200
},400,function(){ });
});
});
Но селектор $("*").not(question) никак не хочет работать, т. е. не работает исключение not(question)!!!
Пробовал разные варианты:

$("*").filter(":not('.Quetion')").fadeTo(300,0.6);

$("*").filter(":not(:has('.Quetion'))").fadeTo(300,0.6);

$("*").not(":has('.Quetion')").fadeTo(300,0.6);

$("*").not('.Quetion').fadeTo(300,0.6);

$("*:not('.Quetion')").fadeTo(300,0.6);

$("*:not(:has('.Quetion'))").fadeTo(300,0.6);

$("*").not(getElementsByClassName('.Quetion')).fadeTo(300,0.6);

Бесполезно ...
Лучший ответ
Виктор Мальков Мудрец (10304) 4 года назад
может быть не .Quetion а .Question?
Руслан МухаметдиновУченик (187) 4 года назад
Сначало я тоже так подумал, но в действительности в я как раз и пропустил s в "class="Quetion". Поэтому дело не в этом, ведь form отображается со свойствами, прописанными по событию $('#link').on('click', function(){...}.
Виктор Мальков Мудрец (10304) jquery как подключаете? Если версию "slim", надо заменить на полную
Остальные ответы
Elepsis Eclipse Гений (64064) 4 года назад
Потому что под * попадает тупо всё... а opacity наследуется всем дочерним элементам. Но получится "замутнить" родителя, но оставить дочерний блок как opacity: 1.

https://jsfiddle.net/OPTlMUS/wk427cz1/ — $('*').not('.Question').css('border', '2px solid red');

Через рамки можно убедиться, что оно работает. Но для fadeIn не прокатит. Надо по другому решать задачу (а я и не понял, что оно в итоге должно делать. Селектор '*' вообще не рекомендуется использовать, потому что оно наверняка будет делать кучу лишних телодвижений)
Руслан МухаметдиновУченик (187) 4 года назад
Вообщем при нажатии на #link страница становится прозрачной (должна становится прозрачной кроме элемента с class='.Quetion') c прокруткой страницы вниз к позиции top элемента с class='.Quetion'
Похожие вопросы