Javascript 将值从脚本放置到DOM

Javascript 将值从脚本放置到DOM,javascript,html,Javascript,Html,我必须创建一个droplist,onchange必须将值写入一些或 这是我的密码。我完全被卡住了;也许只要一些提示就行了 功能啤酒功能(啤酒){ var y=啤酒价值; 返回y; } 函数beerChoice(){ var x=getElementById(“pararaf”); x、 innerHTML=“那么”+y+”是您的首选啤酒吗?关于“+y+”的有趣事实:”; } 你最喜欢的啤酒: 杰伦 拉夫 加戈丁斯克 尼基奇科 答复: 这里有几件事: (1):更改页面上元素的函数是beer

我必须创建一个droplist,
onchange
必须将值写入一些

这是我的密码。我完全被卡住了;也许只要一些提示就行了

功能啤酒功能(啤酒){
var y=啤酒价值;
返回y;
}
函数beerChoice(){
var x=getElementById(“pararaf”);
x、 innerHTML=“那么”+y+”是您的首选啤酒吗?关于“+y+”的有趣事实:”;
}
你最喜欢的啤酒:
杰伦
拉夫
加戈丁斯克
尼基奇科


答复:

这里有几件事:

(1):更改页面上元素的函数是
beerChoice()
,对吗?您已经为该函数编写了一个定义,但您从未实际执行该函数,因此这些都不会发生

(2):您将在
beerFunction()
中返回
y
,但现在正是调用
beerChoice()
函数的最佳时机。您已经获得了用户选择的啤酒,现在需要让页面知道如何更改文本

(3):因为您在
beerFunction()
中声明了
y
,它将只在
beerFunction()中可用。
您的
beerChoice()
函数将无法访问它。正确的方法是将其作为参数传递,如
beerChoice(y)

(4):
getElementById
必须以
document
作为前缀。您需要将该行更改为
document.getElementById(“pararaf”)

(5):在编写代码时,对我个人有帮助的是非常清楚地命名函数的功能。这样,当你在脑子里思考下一步需要做什么时,你就不需要花那么多时间把它翻译成代码,或者弄清楚“哪个函数又在改变文本?”。如果下一步是“更改啤酒文本”,那么也许可以将函数命名为
changeBeerText()
。同样,如果您也清楚地命名了所有变量,您会发现编写代码要容易得多

啤酒选择更改功能(啤酒){ var beerName=beer.value; changeBeerText(beerName); } 函数changeBeerText(beerName){ var段落=document.getElementById(“pararaf”); paragration.innerHTML=“那么”+beerName+“是您的首选啤酒吗?关于“+beerName+”的有趣事实:”; }

杰伦
拉夫
加戈丁斯克
尼基奇科


答复:

  • 在getElementById之前添加
    文档。
  • beerFunction
  • 功能啤酒功能(啤酒){
    var y=啤酒价值;
    返回beerChoice(y);
    }
    功能beerChoice(y){
    var x=document.getElementById(“pararaf”);
    x、 innerHTML=“那么”+y+”是您的首选啤酒吗?关于“+y+”的有趣事实:”;
    }
    
    杰伦
    拉夫
    加戈丁斯克
    尼基奇科
    

    答复:


    你很接近了。在您的代码中,beerFunction是事件处理程序,但您没有使用它做任何事情。由于更改事件将被异步调用,因此您需要确保您需要对该事件执行的所有操作都由该处理程序完成,或者由该处理程序中调用的函数完成

    功能啤酒功能(啤酒){
    var y=啤酒价值;
    beerChoice(y);//我们需要将值传递给将更新dom的函数
    }
    功能beerChoice(y){
    //getElementById是文档对象的一个方法
    var x=document.getElementById(“pararaf”);
    x、 innerHTML=“那么”+y+”是您的首选啤酒吗?关于“+y+”的有趣事实:”;
    }
    
    杰伦
    拉夫
    加戈丁斯克
    尼基奇科
    

    答复:

    请参阅<代码>返回y没有意义 — 你回哪里?您应该在某处使用参数
    y
    调用
    beerChoice