Вы пытаетесь изменить атрибут onclick
, который ожидает строку, и присваиваете ей возвращаемое значение вашего sonFunction
, который не имеет возвращаемого значения, следовательно (void
).
Вы можете установить атрибут onclick
со строкой, такой как:
son.onclick = 'sonFunction(randomVar);';
Это даст вам вывод HTML, похожий на:
<p class="son-class" onclick="sonFunction(randomVar);">
...
</p>
Однако вы, вероятно, захотите назначитьэто прослушиватель событий, который будет запускать событие при нажатии. Выполнение ниже не добавит атрибут onclick
в HTML, но сохранит слушателя в компиляторе Javascript. Это часто называют «ненавязчивым» Javascript, поскольку код Javascript не встроен в HTML.
function sonFunction() {
// something here
};
son.addEventListener('click', sonFunction);
или
son.addEventListener('click', function () {
// something here
});