使用class属性动态创建对象

时间:2014-09-07 18:56:49

标签: javascript

我正在创建一个用户可以动态添加行的表单。一切正常,除了一件事:我不能将类添加到用户创建的某个输入元素:

这是我添加行的方式:

function addRow(tableID) {

            var table = document.getElementById(tableID);

            var rowCount = table.rows.length;
            var row = table.insertRow(rowCount);

            var colCount = table.rows[1].cells.length;

            for(var i=0; i<colCount; i++) {

                var newcell = row.insertCell(i);

                newcell.innerHTML = table.rows[1].cells[i].innerHTML;
                //alert(newcell.childNodes);
                switch(newcell.childNodes[0].type) {
                    case "text":
                            newcell.childNodes[0].value = "";
                            break;
                    case "checkbox":
                            newcell.childNodes[0].checked = false;
                            break;
                    case "select-one":
                            newcell.childNodes[0].selectedIndex = 0;
                            break;
                }
            }
        }

(由this site提供)

形式:

<TABLE id="dataTable" width="350px" border="1" class="plantable">
            <TR>
                <TH></TH>
                <TH>From</TH>
                <TH>To</TH>
                <TH>When</TH>
            </TR>
            <TR>
                <TD><INPUT type="checkbox" name="chk[]"/></TD>
                <TD><INPUT type="text" name="from[]"/></TD>
                <TD><INPUT type="text" name="to[]"/></TD>
                <TD><INPUT type="text" name="when[]" class="datepicker"/></TD>
            </TR>
        </TABLE>

        <br/>
        <INPUT type="button" value="Add Row" onclick="addRow('dataTable')" class="add_remove_row" />

这里我给了一个班级=&#34; datepicker&#34; 命名输入框时。但是下一行没有这个属性。

如果这很重要,点击该输入对象,我会在this网站的帮助下打开一个日期选择器。当我在动态创建的行中单击命名输入框时,datepicker不会显示,因此它不会继承class属性。它适用于非动态创建的第一行。

如何将类添加到元素中?

0 个答案:

没有答案