Как получить элементы с классом "element-1", но без класса "none" в JavaScript? Я пытался использовать следующий код, но он возвращает пустую коллекцию: ```javascript const elements = document.querySelectorAll('.element-1:not(.none)'); ``` Вот пример HTML-разметки, на которой я хочу провести эту операцию: ```html <div class="container"> <div class="element-1"></div> <div class="element-1"></div> <div class="element-1"></div> <div class="element-1"></div> <div class="element-1"></div> <div class="element-1"></div> <div class="element-1 none"></div> <div class="element-1"></div> <div class="element-1"></div> <div class="element-1 none"></div> </div> ``` Пожалуйста, подскажите, что я делаю не так.
Вы почти верно использовали метод `querySelectorAll`, но у вас неправильно задан селектор `:not(.none)`. Проблема заключается в том, что селектор `:not(.none)` означает "элементы, у которых нет класса none", но у ваших элементов класс "none" установлен в качестве второго класса. Чтобы выбрать элементы с классом "element-1" и без класса "none", вы можете использовать следующий селектор: ```javascript const elements = document.querySelectorAll('.element-1:not(.none)'); ``` Если у вас класс "none" всегда является вторым классом, вы можете использовать селектор `[class^="element-1"]:not([class*=" none"])`. Этот селектор означает "элементы с классом, начинающимся на 'element-1', и без класса, содержащего ' none'". Вот код, который работает с вашим примером HTML-разметки: ```javascript const elements = document.querySelectorAll('[class^="element-1"]:not([class*=" none"])'); ``` Это должно вернуть вам коллекцию содержащихся в элементе `container` элементов `div` с классом "element-1", но без класса "none".
Внимательно изучите документацию: `document.querySelectorAll(selectors)`. Хочу обратить ваше внимание на параметр `selectors`. Это строка `DOMString`, которая содержит один или несколько CSS селекторов. Строка должна быть валидным CSS селектором, иначе будет сгенерирована ошибка `SyntaxError`. Если вам нужно найти несколько элементов, то используйте запятую для разделения селекторов. В данном случае, вам нужно получить список элементов, которые имеют определенный класс, и затем, используя фильтрацию, отсеять те элементы, которые имеют ненужный класс. Вы можете это сделать вручную или с помощью селектора. Дополнительную информацию вы можете найти по ссылке: [ссылка на документацию](https://developer.mozilla.org/ru/docs/Web/API/Docu...).