在下面的JS中 - 我试图嵌套一个函数,这样我就不必为表单中的每个字段重复“添加字段”。
然而 - 警报'特罗多!'只有在addfield('rcname', 'RC Name');
因此,增量(i和n)当然也不会更新。
语法有问题吗?
function addcameragroup() {
var newcamgroup = document.createElement("div");
newcamgroup.setAttribute("id", "camera-" + i);
var camform = document.getElementById('formtable');
camform.appendChild(newcamgroup);
function addfield(fieldname, fieldtxt) {
var newformrow = document.createElement("div");
newcamgroup.appendChild(newformrow);
newformrow.setAttribute("class", "formrow");
var fieldlabel = document.createElement("label");
newformrow.appendChild(fieldlabel);
fieldlabel.setAttribute("for", fieldname);
fieldlabel.innerHTML(fieldtxt);
}
addfield('rcname', 'RC Name');
alert('Trogdor!');
i++;
n++;
}
答案 0 :(得分:3)
fieldlabel.innerHTML(fieldtxt);
应该是
fieldlabel.innerHTML = fieldtxt;
innerHTML不是一个属性的函数。试图调用它会导致错误并使程序停止执行。您应该了解有关您喜欢的浏览器的调试和开发人员工具。
针对innerHTML的MDN文档:MDN