Задать вопрос
axrising
@axrising

Как перевести код jquery на чистый JavaScript?

Помогите пожалуйста перевести вот этот код, буду очень благодарен за помощь
$(function() {

  let filter = $("[data-filter]");

  filter.on("click", function(event) {
      event.preventDefault();

      let cat = $(this).data('filter');

      if(cat == 'all') {
         
          $("[data-cat]").removeClass("hide");
      } else {
          $("[data-cat]").each(function() {
              let workCat = $(this).data('cat');

              if(workCat != cat) {
                  $(this).addClass('hide');
              } else {
                  $(this).removeClass('hide');
              }
          });
      }
  });
});
  • Вопрос задан
  • 241 просмотр
Подписаться 2 Простой Комментировать
Решения вопроса 3
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Ответ написан
Комментировать
yarkov
@yarkov Куратор тега JavaScript
Помог ответ? Отметь решением.
Не проверял, но что-то типа:
document.addEventListener("DOMContentLoaded", function() {
  const filters = document.querySelectorAll("[data-filter]");

  Array.from(filters).forEach(filter => {
    filter.addEventListener("click", function(event) {
      event.preventDefault();

      const categoryName = filter.dataset["filter"];
      const categories = document.querySelectorAll("[data-cat]");

      if (categoryName === "all") {
        Array.from(categories).forEach(category =>
          category.classList.remove("hide")
        );
      } else {
        Array.from(categories).forEach(category => {
          const workCat = category.dataset["cat"];

          if (workCat !== categoryName) {
            category.classList.add("hide");
          } else {
            category.classList.remove("hide");
          }
        });
      }
    });
  });
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы