compañero, si me permites te dejo mi código enseñandote como lo puedes simplificar más y hacerlo dinámico a la par, pero igual te quedo super bien de las dos maneras.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>tablas 2</title>
</head>
<body>
<h1 style="text-align: center;">Aqui tendremos la tabls de multiplicar</h1>
<p>Aquí esta la tabla que pediste</p>
<script>
function imprimir(textoIngresado) {
document.write(textoIngresado);
}
////////////////////////////////////////////////codigo
let multiplicador = 0;
let multiplicando = parseInt(prompt("elija su numero a multiplicar"));
if (multiplicando > 0 && multiplicando < 11) {
while (multiplicador < 11) {
multiplicador++;
imprimir('la multiplicación de '+ multiplicando+' por '+ multiplicador +' es '+multiplicador*multiplicando+ '<br>');
}
}
else{
imprimir('número o caracter no valido');
}
////////////////////////////////////////////////fin codigo
///////////// o si lo deseas con for
imprimir("usando ciclo for")
for (i = 0; i < 11; i++) {
let mult = i * 5;
imprimir('<br>' + i + " X 5 = " + mult + '<br>')
}
/////////////fin con for
</script>
</body>
</html>