如何使用document.getElementById中的变量
How do I use variables in document.getElementById
我已经尝试修复了几个小时的代码。
<script language="JavaScript">
<!--
function generate(){
var titels = new Array();
var i = 0;
for(i;i<9;i++){
var test = 'h1-0'+ i;
titels[i] = document.getElementById(test).textContent;
}
document.getElementById("uitkomst").value = titels[1];
}
-->
</script>
这给了我错误
TypeError: document.getElementById(...) is null
titels[i] = document.getElementById(test).textContent;
但是,当我将"h1-0"+I更改为"h1-0"+5时,它确实有效,而且我不会出现错误,那么我该如何修复它呢?为什么Javascript在使用变量时如此烦人?
添加另一个变量:
var element;
并在循环中使用它来保持获取(或试图获取)元素的结果:
for (i; i < 9; i++) {
element = document.getElementById('h1-0' + i);
if (element) {
titles[i] = element.textContent;
}
else {
console.log("Element " + i + " not found.");
}
}
然后检查控制台,看看缺少哪一个。
有几种方法可以解决这个问题-您可以测试丢失的对象并跳过该情况,也可以捕获抛出的异常并在异常处理程序中相应地采取行动。
以下是如何处理代码中丢失的对象:
function generate(){
var titels = [];
var i, item, test;
for (i = 0; i < 9; i++) {
test = 'h1-0'+ i;
item = document.getElementById(test);
if (item) {
titels[i] = item.textContent;
}
}
document.getElementById("uitkomst").value = titels[1];
}
如果这真的是你的代码所要做的全部,那么你就不需要for
循环,因为你只使用数组中的[1]
项,你可以这样做:
function generate() {
var item = document.getElementById("h1-01");
if (item) {
document.getElementById("uitkomst").value = item.textContent;
}
}
相关文章:
- 将函数的上下文应用于javascript变量
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- 将PHP变量传递给jQuery时遇到问题
- 如何通过ajax刷新JSF填充的javascript变量
- 参数变量出现ngTable指令问题
- 通过javascript重定向html传递php变量
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 全局变量和全局对象的属性之间有什么区别吗
- 如何在Bootstrap Modal中为动态点击生成的变量设置jade属性
- 值对象在某个变量发生更改后发生更改
- Javascript变量赋值|
- AngularJS-在JSON选择器中使用变量名
- Javascript计数器变量未显示正确的值
- delete关键字在全局变量上的不同行为
- 如何在php变量中嵌入JQuery代码
- ReactJS映射:如何仅在url变量不为空时呈现html链接
- 在javascript函数中设置全局变量
- 将变量传递给外部Javascript
- 如何将getJson的响应保存在全局变量中