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

函数执行异常求助:仅最后一个advance函数生效,其余被忽略

问题原因与修复方案

你的问题核心出在text()方法的特性上:

  • $('.achieve').text(...)会清空目标元素的所有现有内容,再设置新文本。
  • 每次调用advance时,第一行的text()都会把之前所有调用添加的内容清空,所以只有最后一次调用的内容会保留(还因为两次append()重复了三次)。

修复代码

直接移除text()行,改用append()追加内容,还可以给每条成就加标签让排版更清晰:

function advance(rQ, desc, ec){
    $('.achieve').append(`<p>${desc}. Points: ${ec}</p>`);
}

// 后续调用保持不变
advance(5, "Getting Started. Get 5 points", 1);
advance(10, "No Longer a Rookie. Get 10 points", 1);
advance(15, "More Than a Beginner. Get 15 points", 1);
advance(20, "Getting The Hang of It! Get 20 points", 1);
advance(30, "Beating the Average. Get 30 points", 2);
advance(45, "More Than a Master. Get 45 points", 2);
advance(50, "OG. Get 50 points", 1);
advance(60, "Hacker. Get 60 points", 2);
advance(90, "King of Twurkeys. Get 90 points", 3);
advance(100, "Pro Hacker. Get 100 points", 2);

如果不需要额外标签,也可以直接追加文本(记得加分隔符避免内容挤在一起):

function advance(rQ, desc, ec){
    $('.achieve').append(`${desc}. Points: ${ec}<br>`);
}

补充说明

  • text():替换元素内的全部内容为指定文本
  • append():在元素现有内容的末尾添加新内容

修改后所有advance调用的内容都会依次显示,不会被覆盖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 22:45:38