如何在javascript中初始化参数?document.getElementById(“DataAreaXa”).

How to initialize a parameter in javascript? document.getElementById("DataAreaXa")

本文关键字:getElementById DataAreaXa document javascript 参数 初始化      更新时间:2023-11-20

运行我的脚本时,我得到">无法获取属性'innerHTML'的值:对象为空或未定义"。

根据我在这个论坛上找到的内容,我需要初始化一个参数。

我的应用程序中有几个按钮<input id=runbutton type="button" value="&#8594;" onClick="runScriptUp(DataArea1a,DataArea1b,arr1)">直到DataArea7a,DataArea7b,arr7

触发 OnClick 函数并传递参数:

function runScriptUp(DataAreaXa,DataAreaXb,arrX){
document.getElementById("DataAreaXa").innerHTML = arrX[2];
document.getElementById("DataAreaXb").innerHTML = arrX[1]*arrX[2];
}

函数从我var arr1 = ["Incidents", Sinc, 0, 0];的 7 个数组中获取数据,直到 arr7 (arrX[1] 的值以 var s 为单位分配。

并且它应该将DataAreaXa值和DataAreaXb值放入相应的span中,显示onclick执行后的值 <span id=DataArea1a name=a> 并再次<span id=DataArea1 name=a>直到 DataArea7aDataArea7b .

不幸的是,我得到"无法获取属性'innerHTML'的值:对象为空或未定义"。

我试图初始化DataAreaXa并在onload部分中DataAreaXb,但写 14 次毫无意义。我也尝试过for,但我想我做得不对。

for (X=1; X<7;X++){
document.getElementById("DataAreaXa")
document.getElementById("DataAreaXb")
}

甚至

for (X=1; X<7;X++){
document.getElementById("DataArea"+X+"a")
document.getElementById("DataArea"+X+"b")
}

我甚至可以使用一个函数为 XaXb运行 7 次,而不是编写 14 次吗?

谢谢。

首先,您需要在输入 id 周围加上引号

<input id="runbutton"  type="button" value="&#8594;" onClick="runScriptUp(DataArea1a,DataArea1b,arr1)">

其次,您的元素ID为"DataAreaXa"在哪里,您在代码中的任何地方都没有或解释它。你解释了你是如何有一个叫做这个的跨度,但你没有提供任何代码来证明这一点。所以当你这样做时

document.getElementByID("DataArea"+X+"a")

这等于未定义,因为您没有使用该 ID 创建元素。

第三,如果你想包含 7,你需要去 X<=7 循环。

第四,你应该初始化循环中使用的变量。

for(var X=0;X<=7;X++)

浏览器可能会忽略错误 1 3 和 4,但如果您没有 id 为 DataArea1a 的元素,那么您将得到一个未定义的空对象

,从document.getElementByID

尝试在函数中替换

document.getElementById("DataAreaXa").innerHTML = arrX[2];

document.getElementById(DataAreaXa).innerHTML = arrX[2];

希望对您有所帮助!