Javascript 使用GetElementsByCassName时未调用innerHTML
我有一大堆段落的类名是“display”。我试图做的是获取表单输入值(表单名为“inputForm”),并通过innerHTML将这些值分配给段落。问题是for循环从不执行 任何帮助都将不胜感激。谢谢Javascript 使用GetElementsByCassName时未调用innerHTML,javascript,html,innerhtml,getelementsbyclassname,Javascript,Html,Innerhtml,Getelementsbyclassname,我有一大堆段落的类名是“display”。我试图做的是获取表单输入值(表单名为“inputForm”),并通过innerHTML将这些值分配给段落。问题是for循环从不执行 任何帮助都将不胜感激。谢谢 function displayFormInput() { var formElements = document.forms["inputForm"].getElementsByTagName("input"); var elements = document.getElemen
function displayFormInput() {
var formElements = document.forms["inputForm"].getElementsByTagName("input");
var elements = document.getElementsByClassName('display');
for (var i; i < elements.length; i++) {
elements[i].innerHTML += formElements[i].value;
alert(i); // never gets called
}
}
函数displayFormInput(){
var formElements=document.forms[“inputForm”].getElementsByTagName(“输入”);
var elements=document.getElementsByClassName('display');
for(变量i;i
您忘记在for循环语句中将i
初始化为零
对于for循环,请尝试以下操作:
for (var i=0; i < elements.length; i++) {
elements[i].innerHTML += formElements[i].value;
alert(i); // never gets called
}
for(var i=0;i
在循环的初始化表达式中,您在声明变量i
时没有给它赋值,这意味着它的值被设置为未定义。因此循环的条件总是false:undefined
,因此该语句永远不会执行
for ([initialization]; [condition]; [final-expression])
statement
您可以通过声明变量并为其赋值来解决此问题:var i=0
var i=0
<代码>未定义
为false@Oriol. 谢谢有时我讨厌调试javascript…如果你真的知道如何调试,比如用调试器逐步调试程序员,你会讨厌调试得更少。@torazaburo。我是Javascript新手。我还在学习,我觉得自己好笨。谢谢你,伙计!