Есть ли онлайн конвертер с 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;
}