繁体   English   中英

.className()似乎不起作用

[英].className() seem doesnt Work

我有一个表,其中动态添加了行。 这些行包含一个日期选择器和下拉菜单,我可以使用.className()在但没有在日期选择器和下拉菜单上设置类名

var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
row.className = "row1 part";

var cell1 = row.insertCell(0);
cell1.className = "value";
var element1 = document.createElement("input");
element1.type = "text";
element1.name = "txtbox[]";
element1.className = "date-pick"; // this fails
element1.setAttribute('value', '2013/10/04');
cell1.appendChild(element1);

var cell2 = row.insertCell(1);
var element2 = document.createElement("select");
element2.name = "prddrop[]";
element2.id = "prddrop[]";
element2.className = "bankopt"; //this also fails
element2.options[element2.length] = new Option("[-- Please Choose --]", "[-- Please Choose --]");
var arr_items = [{
    "IssuingBank": " --- "
}, {
    "IssuingBank": " --- "
}];
$(document).ready(function () {
    for (var i = 0; i < arr_items.length; i++) {
        element2.options[element2.length] = new Option(arr_items[i].IssuingBank, arr_items[i].IssuingBank);
    }
});
cell2.appendChild(element2);

请帮助我...谢谢!

请记住, .appendChild()返回该元素。

因此,您可以执行以下操作:

cell1.appendChild(element1).className = "class_to_add";

其他方式:

您可以使用setAttribute (注意:这不适用于IE8和更早版本,如@om在注释中所述。)

var i = document.createElement('input'); 
i.setAttribute('class', 'myclass');
document.forms[0].appendChild(i);

这应该为您工作。 在所有浏览器中。

var yourClass = document.createAttribute("class");
yourClass.value = "date-pick";
element1.setAttributeNode(yourClass);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM