т.е. в функцию ничего не передали то выводить -"пжл введите данные" а если передали не число, то - "введите пжл число"...
event.target
так и event.target.parentElement
, но здесь уже происходит зависимость от вложенности разметки. Лучше, конечно, такого избегать и работать либо только с целевым элементом, либо передавать какой-то общий контейнер event.target.closest('.element-wrapper')
, который точно не планируется со временем менять, а внутри функции уже искать, например, по классу внутри этого контейнера (arg): arg.querySelector('.some-class')
. Это сделает код чуть менее зависимым от структуры разметки, которая может со временем поменяться, а значит чуть более надёжным.