在Javascript中嵌套函数

时间:2013-03-27 14:59:28

标签: javascript function

在下面的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++;
}

1 个答案:

答案 0 :(得分:3)

fieldlabel.innerHTML(fieldtxt);

应该是

fieldlabel.innerHTML = fieldtxt;

innerHTML不是一个属性的函数。试图调用它会导致错误并使程序停止执行。您应该了解有关您喜欢的浏览器的调试和开发人员工具。

针对innerHTML的MDN文档:MDN