Javascript 为什么保存输入值的变量总是记录为空?

Javascript 为什么保存输入值的变量总是记录为空?,javascript,html,dom,Javascript,Html,Dom,当保存输入值的变量Iconsole.log时,它会记录一个空字符串。警报也会发生同样的情况。您可以在控制台中测试代码,您将看到输出确实存在,但为空 (函数(){ var button=document.getElementsByTagName(“按钮”); var userInput=document.getElementById(“用户输入”).value; 按钮[0]。addEventListener(“单击”,函数(){ log(用户输入); },假); })(); 添加 加载文档时,

当保存输入值的变量I
console.log
时,它会记录一个空字符串。
警报
也会发生同样的情况。您可以在控制台中测试代码,您将看到输出确实存在,但为空

(函数(){
var button=document.getElementsByTagName(“按钮”);
var userInput=document.getElementById(“用户输入”).value;
按钮[0]。addEventListener(“单击”,函数(){
log(用户输入);
},假);
})();

添加

加载文档时,您正在获取值。此时,该值为空。您需要在单击事件中获取值

(函数(){
var button=document.getElementsByTagName(“按钮”);
var userInput=document.getElementById(“用户输入”);//仅获取元素。
按钮[0]。addEventListener(“单击”,函数(){
console.log(userInput.value);//在此处获取值。
},假);
})();

添加

它不是不可见的。它为空,意味着输入的value属性为空。您将得到一个空值。Try:
console.log('值为:'+userInput)
这样您可以在控制台中看到该语句,但您需要将HTML添加到问题中,以便这里的人可以帮助您。