Hola en mi caso para que sean mas dinámicas y eficaces utilizaría un for con las limitantes del 1 al 10 donde hará el bucle y una variable de la tabla que se quiera multiplicar, lo multiplique y muestre el resultado.
<!DOCTYPE html>
<html>
<head>
<title>Tabla de multiplicar</title>
</head>
<body>
<button onclick="generarTabla()">Generar tabla de multiplicar</button>
<div id="tablaMultiplicar"></div>
<script>
function generarTabla(tabla) {
// Creamos una variable para almacenar el contenido HTML generado
var contenido = '';
// Generamos la tabla de multiplicar utilizando un bucle for
for (var i = 1; i <= 10; i++) {
// Multiplicamos el número actual por la tabla especificada y lo almacenamos en una variable
var resultado = i * tabla;
// Agregamos el resultado a la variable "contenido"
contenido += '<p>' + i + ' x ' + tabla + ' = ' + resultado + '</p>';
}
// Mostramos la tabla de multiplicar en el div correspondiente
document.getElementById('tablaMultiplicar').innerHTML = contenido;
}
</script>
</body>
</html>