Есть ли онлайн конвертер с jquery на vanilla js?

Всем привет, я бэкенд разработчик и немного знаю jquery, но совсем не знаю vanilla js и мне нужно этот код переписать в чистый js

$(document).on("change", ".custom-file-input", function(){
    let fileName = $(this).val().split('\\').pop();
    $(this).next('.custom-file-label').addClass("selected").html(fileName);
});

Есть ли какой нибудь онлайн конвертер? Не могу найти, а переписать не получается


Ответы (2 шт):

Автор решения: Алексей Шиманский

Есть. Я искал по словам jquery to javascript converter online. Сразу куча ссылок.

Один из них выдал вот такое:

document.querySelector(document).addEventListener("change", ".custom-file-input", function(){
    let fileName = document.querySelector(this).value.split('\').pop();
    document.querySelector(this).next('.custom-file-label').classList.add("selected").html(fileName);
});

В целом есть шпаргалка по переводу

→ Ссылка
Автор решения: CbIPoK2513

Да, есть, но они не всегда приводят рабочий код - пример


.. мне нужно этот код переписать в чистый js

Вроде как логика та же..

document.addEventListener('change', function(e) {
  if(e.target.classList.contains('custom-file-input')) {
    let fileName = e.target.value.split('\\').pop();
    let next = nextByClass(e.target, '.custom-file-label');
    next.classList.add('selected');
    next.innerHTML = fileName;
  }
});

// Поиск следующего элемента по классу.
function nextByClass(node, cls) {
  while(node = node.nextSibling)
    if(` ${node.className} `.indexOf(` ${cls} `) != -1) return node;
  return null;
}
→ Ссылка