You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript猫咪GIF生成器问题:删除图片后无法再次生成,仅能刷新恢复

猫咪GIF生成器删除后无法重新生成的问题修复

问题根源很直接:你的removeCat()函数直接把承载图片的#flex-cat-gen整个div从DOM里删掉了。之后点击生成按钮时,generateCat()里的document.getElementById('flex-cat-gen')找不到这个元素,自然没法往里面添加新图片。

只需要修改removeCat函数,清空div内部内容而非删除div本身就能解决:

function generateCat(){
    var image=document.createElement('img');
    var div=document.getElementById('flex-cat-gen');
    image.src="https://thecatapi.com/api/images/get?format=src&type=gif&size=small";
    div.appendChild(image);
}

function removeCat(){
    // 找到容器div,清空内部所有内容,保留容器本身
    var catContainer = document.getElementById('flex-cat-gen');
    catContainer.innerHTML = '';
}

如果想更精细地只删除最后一张猫咪图(而非清空所有),可以改成这样:

function removeCat(){
    var catContainer = document.getElementById('flex-cat-gen');
    // 确认容器有子元素时,删除最后一个
    if(catContainer.lastChild){
        catContainer.removeChild(catContainer.lastChild);
    }
}

你的HTML部分无需修改,保持原样即可:

<div class="container-2">
        <h2>Challenge 2: Cat Generator</h2>
        <button class="btn btn-success" id="cat-generator" onclick="generateCat()">Generate Cat</button>
    
        <div class="flex-box-container-2" id="flex-cat-gen">
          
            
        </div>
        <div>
        <button class="btn btn-danger" id="cat-remover" onclick="removeCat()">Remove Cat</button>
        </div>
    </div>

内容的提问来源于stack exchange,提问作者Rod Marcel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 09:20:30