Javascript 如何在单击时替换HTML元素?

Javascript 如何在单击时替换HTML元素?,javascript,html,css,Javascript,Html,Css,我正在为讲故事类型的游戏开发这段代码,我需要在用户或玩家完成选择后更改dropbox选项。我试图让dropbox中的选项与游戏中给定时刻发生的事情相关。每次用户选择他们的选项时,我被告知要研究元素的可能变化(dropbox中有不同的选项) 我尝试了一些jquery,但只在单击时移动了dropbox。我找不到任何类型的操作员可以帮助我更改它。我的代码中的附加位是提交输入并获得结果 对 不 说话 去 const choice=document.getElementById('selected_ac

我正在为讲故事类型的游戏开发这段代码,我需要在用户或玩家完成选择后更改dropbox选项。我试图让dropbox中的选项与游戏中给定时刻发生的事情相关。每次用户选择他们的选项时,我被告知要研究元素的可能变化(dropbox中有不同的选项)

我尝试了一些jquery,但只在单击时移动了dropbox。我找不到任何类型的操作员可以帮助我更改它。我的代码中的附加位是提交输入并获得结果


对
不
说话
去
const choice=document.getElementById('selected_action');
const opt1=document.getElementById('option1');
const opt2=document.getElementById('option2');
const opt3=document.getElementById('option3');
const go=document.getElementById('goButton');
go.addEventListener('click',(e)=>{
如果(choice.value!==“”){
if(choice.value==opt1.value){
opt1.value=…//更改此元素的值
opt2.value=。。。
opt3.value=。。。
//如果需要更改显示给用户选择的文本值,您可以:
opt1.textContent=…//更改此元素的文本
opt2.textContent=。。。
opt3.textContent=。。。
}else if(choice.value==opt2.value){
...
...
...
}否则{
...
...
...
}
}否则{
警报(“您必须选择继续!”)
}
})

对
不
说话
去
我无法发表评论来收集更多信息,因此,在不知道更多关于您的问题、您的游戏将走向何方、或“append_to_history()”的功能、可能的组合数量等的信息的情况下,这是您需要做的一种方法

最后,我想你将不得不制作一个巨大的对象,或者大量较小的对象,并提出一个命名系统,你可以通过编程从中获取适当的值。可能需要一个跟踪器来计算选择的数量(每次单击按钮),然后相应地命名对象,这样您就可以使用跟踪器值和选项号来调用正确的值。在某个时刻,您必须找出每个可能的值,然后根据单击时选择的值,以编程方式为每个新值调用它们


我很想知道是否有其他人对此有不同的看法

使用
.innerHTML
,您可以非常轻松地做到这一点:

$("#chosen_action").innerHTML = `
    <option>You turn away from the castle</option>
    <option>You take a closer look at the old drawbridge</option>
    <option>You decide to consult your map</option>
`;
$(“#选择的_操作”)。innerHTML=`
你离开城堡
你仔细看看那座旧吊桥
你决定查阅你的地图
`;

.innerHTML
只需更改给定元素的HTML内容。backtick操作符(`)形成一个模板字符串,它能够跨越多行,从而更容易地布置新选项。如果您愿意,您可以在这里使用常规字符串(当然可以使用循环、数组等生成此值)。

因此,当有人选择您进入地下城时,它将自动加载一组新的下拉列表???这是一个c#/java后端还是纯html/jquery?你能分享你尝试过的JavaScript吗?@JonP我已经更新了它以反映这一点,谢谢你指出:)好吧,让我解释一下,这个游戏基本上是一个讲故事的游戏,它的格式有点像一个终端,你通过dropbox输入,然后你得到一个输出,故事就开始了。一旦玩家选择了dropbox选项,我需要更改dropbox选项。例如,在进入地牢之前和与敌人战斗时,会有不同的选项,因此在开始时,会有一个选项询问您是否要进入,然后我想更改与敌人战斗时的选项。附加历史会在您在中选择某个内容后返回输出dropbox@ReficulFotsen26这里的两个答案都是正确的,但适用于不同的情况。我不推荐
.innerHTML
,因为如果这是一个复杂的故事情节,有超过3-4个步骤(仅在3个步骤之后,您将编写39个不同的可能答案,在4个步骤之后,您将编写120个),那么您必须为每个答案完全重新编写一个新的html div,而不仅仅是替换每个答案的值。