Цепочка методов над узлом
Условие
Функция $(selector) возвращает объект с методами addClass, toggleClass, html, css - каждый применяется к найденному узлу и возвращает тот же объект, чтобы вызовы можно было соединять в цепочку. Если узел не найден, методы не должны падать.
Что проверяют тесты
цепочка применяется
toggleClass снимает класс
несколько классов сразу
узел не найден - без падения
каждый метод возвращает тот же объект
Как подойти
Мини-jQuery: задача про паттерн текучего интерфейса. Ключ - возврат одного и того же объекта из каждого метода, а не создание нового. Отсутствующий узел не роняет цепочку: это осознанное поведение jQuery, из-за которого опечатка в селекторе не ломает страницу, но и не сообщает об ошибке - стоит сказать, что это спорный компромисс. innerHTML с пользовательскими данными - XSS, поэтому в реальной обёртке рядом с html делают text через textContent.
Подсказки: 3
- Каждый метод возвращает объект-обёртку, а не сам узел.
- Отсутствие узла не должно ронять цепочку - проверяй перед каждым действием.
- className затирает все классы, classList добавляет.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.