Parece que funciona, pero no carga la imagen.
let element2 = document.getElementById("button3"); element2.addEventListener("click", () => { let cat_result = document.getElementById("cat_result"); fetch('https://aws.random.cat/meow') .then(res => res.json()) .then(data => { cat_result.innerHTML = '<img src="${data.file}"/>' })});
HTML
<img src="" id="cat_result"/>Creo que su etiqueta de imagen html es así. Puede usar setAttribute en lugar de innerHTML.
js
let element2 = document.getElementById("button3"); element2.addEventListener("click", () => { let cat_result = document.getElementById("cat_result"); fetch('https://aws.random.cat/meow') .then(res => res.json()) .then(data => { cat_result.setAttribute('src', data.file); })Espero que funcione.
Los literales de plantilla deben tener acentos graves (``) a su alrededor. Más sobre ellos aquí
let element2 = document.getElementById("button3"); element2.addEventListener("click", () => { let cat_result = document.getElementById("cat_result"); fetch('https://aws.random.cat/meow') .then(res => res.json()) .then(data => { cat_result.innerHTML = `<img src="${data.file}"/>` }) }); <button id="button3">click</button> <div id="cat_result"></div>