我试过在 stackoverflow 上查找,但找不到与我完全相同的问题 - 我确信这个问题很容易解决,但不知何故......它不起作用。
我有一些输入,将以计算器格式进行加/乘/减/除等。
我想要的是通过在我的功能 block 外部声明变量来删除对 getElementById
的不必要引用(我不想要任何花哨的 multiple-getElementById 赋值)。
我的 Javascript 如下:
//Declarations: designed to minimze calls to document.getElementByID
var number1 = document.getElementById("num1");
var number2 = document.getElementById("num2");
var numAnswer = document.getElementById("answer");
//Add together two numbers
function add()
{
numAnswer.value = parseFloat(number1.value) + parseFloat(number2.value);
}
这让我发疯 - 如果我取出变量并只使用普通的旧 document.getElementById
,一切正常。这应该很容易,但就是行不通。我检查了拼写,一切似乎都没有问题 - 是不是我遗漏了什么?
最佳答案
如果您在问题中显示的脚本出现在页面源中的元素之后,这将起作用。否则浏览器尚未解析这些元素,因此无法通过 ID 找到它们。
让它工作的另一种方法是在 onload
或文档就绪处理程序中进行分配,因为到 onload
或文档就绪发生时 < em>所有元素都可以访问,无论它们在页面源代码中的什么位置。
关于javascript - 变量分配给 getElementById,不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7342163/