我使用以下代码设置dinamically生成的select控件的className属性:
oField.className ="select";
适用于Firefox而不适用于Internet Explorer。如何在IE上设置此属性?
代码:
var oField = document.createElement("select");
if(browser == "IE"){
oField.size = 1;
oField.setAttribute("name","sele"+num);
oField.onChange = function(){
AggiungiRiga(oField.name,oField.value)
};
}
else{
oField.setAttribute("size",1);
oField.setAttribute("name","sele"+num);
oField.setAttribute("onChange","AggiungiRiga(this.name,this.value)");
}
oField.className ="select";
这里我将它添加到文档中:
oTd1.appendChild(oField);
(oTd1
是必须放置选择控件的<td>
元素。我知道代码质量不高,原因是遗留代码。
答案 0 :(得分:0)
我看不到appendChild()
方法,您在哪里追加select element
?
不将oField
附加到文档可能会导致问题。
例如:
document.body.appendChild(oField);
从哪个变量browser
和num
声明?我猜它是否在FF num中工作。
var oField = document.createElement("select");
oField.size = 1;
oField.name = "sele" + num;
oField.onChange = function(){AggiungiRiga(oField.name,oField.value)};
oField.className = "select";
document.getElementById('tabella').getElementsByTagName('TBODY')[0].childNodes[0].firstChild.appendChild(oField)
你知道吗id
对TD
有什么好处让它变得容易起作用,如果你想要TD id=""
任何方式,我会更轻松选择放在第一个TD中,这将完成上面显示的示例
document.getElementById('tabella').getElementsByTagName('TBODY')[0].childNodes[0].firstChild.appendChild(oField)
然而,您需要将表格视为紧凑
<table id="tabella"><tr><td></td></tr></table>
答案 1 :(得分:-6)
为什么不尝试使用jquery:
$('#idElement').attr('class', 'classname');
或者只是使用javascript:
document.getElementById("idElement").setAttribute("class", "className");